你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于stm32串口的问题

[复制链接]
xdaforce 提问时间:2019-11-4 13:17 /

这两个问题一直困扰了我好久,迫不得已来发帖求助,因为周遭没有一起玩这个的人可以一起讨论,学习stm32没多久,让各位大佬见笑了。
1、大佬们,我想去掉0x0a和0x0d的判断协议,改为这样可以吗?(里面的蜂鸣器是我用来判断程序是否跑死,手头只有isp下载器。。。)如果可以,我会卡在中断中,这是为啥呢,是因为ore吗,有没有可能是因为没有清中断造成的,还有一个问题在下面
void USART2_IRQHandler(void)                        //串口2 中断服务程序
{
u8 Res;//(这句我放在usart.c中最开始的include后面了)if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)  //接收中断(接收到的数据必须是0x0d 0x0a结尾)
                {
                                        Res =USART_ReceiveData(USART2);        //读取接收到的数据
                                        USART2->DR;
                                        // beep=1;
                                        //delay_ms(100);
                                        //beep=0;
      
                                        USART_RX_BUF[USART_RX_STA&0X3FFF]=Res ;
                                        USART_RX_STA++;
                                        if(USART_RX_STA>(USART_REC_LEN-1))USART_RX_STA=0;//接收数据错误,重新开始接收
                                        USART_ClearFlag(USART2,USART_IT_RXNE);
        
               
                }
}


2、还有,我想在tft中显示串口发来的数据,百度很久,发现网上都说应该用sprintf函数,但是我在使用过程中,发现没法显示,但是我已经强制转换变量为字符串了,代码如下

char a;
sprintf(a,"%s",USART_RX_BUF[t]);   LCD_ShowString (0,0,a);

不知道写法有没有问题,麻大佬指点一下,在此谢过大佬,新手没人一起学习讨论,遇到问题解决起来真困难。。。。

收藏 1 评论4 发布时间:2019-11-4 13:17

举报

4个回答
回答时间:2019-11-4 14:06:13
我怀疑是你的100ms的问题导致的,接收数据溢出。
mikecai 回答时间:2019-11-4 16:45:18
那里搜来的代码?
1)USART2_IRQHandler()明明是串口2 中断服务程序,却在中断处理中接收串口1的数据[Res =USART_ReceiveData(USART1);        //读取接收到的数据],乱套!
2) 中断本来就要快速处理,避免堆死,您这代码,还在里面加延时【delay_ms(100)】,还是毫秒级的?
xdaforce 回答时间:2019-11-4 17:50:07
mikecai 发表于 2019-11-4 16:45
那里搜来的代码?
1)USART2_IRQHandler()明明是串口2 中断服务程序,却在中断处理中接收串口1的数据[Re ...

嗷嗷,不好意思,代码可能是写糊涂了,那里应该是usart2的,那会修改了原子的代码,可能在复制前多按了一个ctrl+z,并非复制的,中断里面不能加延时之前并不知道,蜂鸣器只是为了做一个判断,之前是放在数据接收完成以后的,还有第二个问题呢,那个是为什么呢,大佬
夏雨夜寐 回答时间:2020-1-9 09:31:05
sprintf(a,"%s",USART_RX_BUF[t]);   LCD_ShowString (0,0,a);
这句,拿USART_RX_BUF[t]的char或者u8类型去匹配前面的%s ??

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版