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

关于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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版