USART1数据异常

2019-07-21 02:59发布

       我在测试F407的串口时,发现十分奇怪的问题。我用一个变量从零开始自增,每自增1后发送到串口上,(之所以这么做,是因为读6050的ID时,返回68了,结果电脑显示的时C8)发现接收到的数据增加到0F后就直接跳到30,而单步运行时发现代码里传送给串口1的数据是10,为何收到的是30。而相同的主函数代码我用在103的板子上,就一切正常。说多了不清楚,我直接上代码,上图。(图1中带箭头的是数据跳变处,貌似有规律的跳变,但不知为何,在103的板子就能接收正常的数据,后面是单步运行时的图) [mw_shl_code=c,true]int main(void) { uint8_t count=0; LED_Init (); delay_init(168); uart_init(115200);      while(1) {  count++;  delay_ms(10);  USART1->DR=count;  while((USART1->SR&0X40)==0);  if(count%50==0)LED0=!LED0; }  }  [/mw_shl_code] [mw_shl_code=c,true]  [/mw_shl_code] [mw_shl_code=c,true]   [/mw_shl_code] [mw_shl_code=c,true]   [/mw_shl_code]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。