新手上路
- 积分
- 42
- 金钱
- 42
- 注册时间
- 2016-2-27
- 在线时间
- 8 小时
|
1金钱
串口2中断程序是这么写的,实际测试时,串口助手向STN32的串口2发送一串字符串数据,然后通过STM32的串口1发送回串口调试助手,实际上到串口调试助手上显示的是连续进了三次中断一样,输出数据是一个字节后面接了11个00,紧接着是另一个字符数据在接11个00,如何一个中断接收所有数据,存储在数组中。
void USART2_IRQHandler(void)
{
uint8_t value = 0;
uint8_t BCC_sum=0;
if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET) //èç1û½óêÕμ½êy¾Y
{
USART_ClearITPendingBit(USART2,USART_IT_RXNE); //Çå3yÖD¶Ï±ê־λ
USART_ITConfig(USART2, USART_IT_RXNE, DISABLE);
BUFFER[buffer_index]=USART_ReceiveData(USART2);
buffer_index++;
text=1;
if(text==1)
{
for(value=0;value<12;value++)
{
printf("%x ",BUFFER[value]);
}
text = 0;
buffer_index = 0;
USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);
}
|
|