OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4010|回复: 11

串口与oled的相关问题

[复制链接]

38

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
267
金钱
267
注册时间
2014-12-21
在线时间
1 小时
发表于 2015-2-6 12:14:38 | 显示全部楼层 |阅读模式
5金钱
自己原本是将串口接收的数据通过oled显示出来虽然能显示但总是会比发的数据少2,但是单独用串口接收发送数据不会出错,oled单独显示也不会出错,一结合就会出错,特来请教原子哥与吧里的各位,在此先感谢啦中断代码如下:

void USART1_IRQHandler(void)
    {
       if(USART_GetFlagStatus(USART1, USART_FLAG_RXNE)!= RESET)
    {
      
   
             USART_ReceiveData(USART1);
            OLED_ShowNum(1, 10,(u32)USART_ReceiveData(USART1), 1, 16); 
            OLED_Refresh_Gram();
   
  
    }
   
       USART_ClearFlag(USART1,USART_IT_RXNE);
     }

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11558
金钱
11558
注册时间
2014-4-1
在线时间
1318 小时
发表于 2015-2-6 15:05:12 | 显示全部楼层
提一种可能性。

在所有中断函数里,不能留连的时间太长,否则容易错过下次中断。
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11558
金钱
11558
注册时间
2014-4-1
在线时间
1318 小时
发表于 2015-2-6 15:06:47 | 显示全部楼层
针对这个应用,收到数据立刻退出中断,

数据放在主循环里面,慢慢处理。
回复

使用道具 举报

38

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
267
金钱
267
注册时间
2014-12-21
在线时间
1 小时
 楼主| 发表于 2015-2-6 16:15:51 | 显示全部楼层
感谢您的回复,谢谢呀
回复

使用道具 举报

38

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
267
金钱
267
注册时间
2014-12-21
在线时间
1 小时
 楼主| 发表于 2015-2-6 16:54:25 | 显示全部楼层
试验了一下还是不行呀
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11558
金钱
11558
注册时间
2014-4-1
在线时间
1318 小时
发表于 2015-2-6 18:49:22 | 显示全部楼层
总共用了54-15=39秒,就实验完了。。。

怎么个 “不行” ,依旧少收?
回复

使用道具 举报

38

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
267
金钱
267
注册时间
2014-12-21
在线时间
1 小时
 楼主| 发表于 2015-2-6 19:18:09 | 显示全部楼层
不是少收是每次从串口接收的数据再送到oled时数据会减2:比方说串口接收的数据是8,而从让oled显示时却变成了6,不知道怎么回事
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-2-6 22:42:09 | 显示全部楼层
回复【7楼】我的未来:
---------------------------------
是不是你波特率不对?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

38

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
267
金钱
267
注册时间
2014-12-21
在线时间
1 小时
 楼主| 发表于 2015-2-7 13:36:46 | 显示全部楼层
波特率配置是9600,难道错了吗?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-2-7 22:23:04 | 显示全部楼层
回复【9楼】我的未来:
---------------------------------
这要你自己去确定
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

38

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
267
金钱
267
注册时间
2014-12-21
在线时间
1 小时
 楼主| 发表于 2015-2-7 23:05:25 | 显示全部楼层
回复【10楼】正点原子:
---------------------------------
就是一个一个去试吗
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-2-8 23:12:17 | 显示全部楼层
回复【11楼】我的未来:
---------------------------------
可以软件仿真,看波特率。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-26 03:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表