
设置代码: void UART1_InitCon() { UART1_DeInit(); UART1_Init((u32)9600, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO, UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_RX_ENABLE); UART1_Cmd(ENABLE); UART1_ITConfig(UART1_IT_RXNE_OR, ENABLE); } 中断接收数据的代码: INTERRUPT_HANDLER(UART1_RX_IRQHandler, 18) { ColorData = UART1_ReceiveData8(); RData = UART1_ReceiveData8(); GData = UART1_ReceiveData8(); BData = UART1_ReceiveData8(); ModeData = UART1_ReceiveData8(); return; /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } 现在是我上位机发了5个数据 入0x01 0x00 0x00 0x00 0x01 然后我Debug模式下看到的变量 ColorData、RData 、GData 、BData 、ModeData数据全部都是0x01 如果发送的是 0x01 0x00 0x00 0x00 0x02,则变量 ColorData、RData 、GData 、BData 、ModeData数据全部都是0x02 小弟初出茅庐,还请大神指教 |
STM8S003无法检测到引脚电平
STM8 @svlreg 问题
STM8AF62XX+L99PM62GXP LIN通讯的电路原理图有吗?官网提供了一套软件,没找到对应的原理图,请大家指教一下
求一个STM8S207例程
初次接触STM8,请问在STVD中,为什么这个Struct会报错
STMS005K6T6 如何采集内部参考电压。
stm8s003 adc中断和通道切换的问题
adc施密特触发器stm8
stm8l051f3 TSSOP20 封装,待机模式下,2天后,电流突然增加到140UA
STM8S用STVP烧录怎么加密?
评分
查看全部评分
官方例程可参考,接收数据在缓冲 aRxBuffer[RxCounter++]中:
usart每次中断读入1个字节数据,楼主在一次中断中赋值那么多组数据当然出错了。ST官方代码用数组指针xCounter++是很巧妙的思路。
评分
查看全部评分
中断接收数据的代码:
INTERRUPT_HANDLER(UART1_RX_IRQHandler, 18)
{
ColorData = UART1_ReceiveData8();
RData = UART1_ReceiveData8();
GData = UART1_ReceiveData8();
BData = UART1_ReceiveData8();
ModeData = UART1_ReceiveData8();
return;
/* In order to detect unexpected events during development,
it is recommended to set a breakpoint on the following instruction.
*/
}
_______________________________________________
你这程序不对呀,一次中断,只能接收一个数据,接收完必须中断返回的。
请参考楼上的答案,串口带FIFO的结构就是楼上的程序,大家都是这么用的。
评分
查看全部评分
非常感谢!
非常感谢!
非常感谢!