
Eu estou fazendo um projetinho para um cliente onde tenho os seguintes módulos ativados no STM32F103C8 "Mikroc arm vr 6.0 original":
- Uso das três Uarts "Uart1, 2 e 3", todas com interrupção ativada, para RX (Uso a mesma velocidade para todas elas ou seja 9600bps).
- Uso da i2c, apenas a 1 ativada a outra não esta em uso (não uso interrupção para esse módulo).
Vejam se conseguem me compreender

Eu depois de ficar acordado a noite toda até agora, 10 da manha

Aí quando eu retiro ou diminuo essas chamadas o problema também some.
Minha pergunta é e peço desculpas pelo texto tão grande!? O STM32F103 possúi limitação de stack pointer? Ou o compilador pode ter essas limitações ou talvez em linguagem C, existe alguma regra quanto a chamadas de protótipos, vou dar um exemplo abaixo para ficar mais claro

void TXSerialUart2(unsigned char x)
{
Uart2_write(x);
}
void TXSerialUart1(unsigned char x) // declarando essa variável "x", é LOCAL né?

{
Uart1_write(x);
TXSerialUart2(x);
}
...Chamada da rotina principal para TXSerialUart1(10); //
Se vocês puderem me ajudar fico muito agradecido, pois meus cabelos devem ter ficado uns 10 fios mais brancos
