我试图在USART上收到一条简单的消息。消息通过串行USB链路从我的计算机发送到STM32L1板。
当我发送消息时,程序进入USART IT,但当我用eclipse调试器查看接收缓冲区时...消息不好,我不明白为什么!
如果您能理解错误的原因,可以在这里查看我的代码,也许我忘记了某些内容。
jspm_packages\github\aurelia\bootstrapper@0.14.0.js
ReceiveString函数:
void USART1_IRQHandler(void) {
char send[20];
if (USART_GetITStatus(USART1, USART_IT_RXNE)) {
ReceiveString(send,USART1,8);
}
USART_ClearITPendingBit(USART1, USART_IT_RXNE);
}
和主要:
void ReceiveString(char *s, USART_TypeDef * usart, int cnt) {
s[cnt++] = USART_ReceiveData(usart); //
if (MAX_STRLEN > cnt) {
cnt = 0;
}
}
configureUSART1:
int main(void)
{
RCC_GetClocksFreq(&RCC_Clocks);
SysTick_Config(RCC_Clocks.HCLK_Frequency / 1000);
initGPIO();
configureUSART2();
configureUSART1();
for (;;){
}
}
如果有人看到我的配置问题或我尝试接收我的字符串消息的方式,那将非常有帮助!