STM32/STM8技术william hill官网
直播中

uy

7年用户 299经验值
私信 关注
[问答]

stm32串口接收到的字符串显示到oled

STM32串口接收到的字符串显示到oled,但是我尝试通过串口助手发送的“1”,串口助手显示的却是“L”,这是因为是从字库里取的原因吗,并且发送一串时,只显示最后一个
  • 串口接收中断.png
  • 串口发送函数.png
  • oled显示字符串.png
  • oled显示字符.png

回帖(8)

曲海洋

2020-9-9 10:15:05

最佳答案

你先弄单片机接收,仿真一下,看看接收的数组和你电脑发送的数组是不是一样的,如果都一样,你在弄往oled上发送的步骤,看看oled显示对不,最后才是联调。看了一下你的程序,你是每次接收都送显示,但是你显示的位置没有改变,这样下一个字符就覆盖了上一次的字符,当然最后显示的是你的最后发送的那个字符了
1 举报
  • uy: 对的,我发现这个问题了,现在已经解决了,谢谢

人中狼

2020-9-9 10:54:09
先确定接收数据正确,在接收程序里,实际是每接收到一个数据就转存到press数组里,然后对接收缓存进行清除处理,所以多字节接收时,实际只保存了最后一个字节。确定接收正确后,才好判断显示的问题
举报

ele_hll

2020-9-17 23:31:34
你输入的1是hex还是字符?
举报

jf_66922222

2020-10-3 17:17:26
使用串口中断  自动接收和发送数据  需要及时处理接收缓冲区数据  接收缓冲区已满我就不知道怎么重置接收标志了 复位单片机能行可不好   我用stm32串口1打印输出信息给PC  串口2接esp8266发送AT命令  各种操作和反馈的信息也通过OLED显示屏显示   基本能实现通过手机或电脑和esp8266在同一个局域网下的TCP通信 控制stm32各种IO操作等等功能
举报

不透露姓名的电子发烧友

2020-10-12 11:17:33
stm32zhenxin难啊111111111111111111111
举报

hello_mcu

2020-10-25 17:23:30
能仿真,先仿真看下。确保收到的都对,然后送到OLED的是不是对的。
看了下程序,感觉没什么问题啊。
举报

h1654156000.0541

2020-11-19 17:28:29
来学习,顺便嫖些积分。
举报

张勇亮

2021-6-5 20:31:06
重复覆盖, 评价拿个积分, 下本书
举报

更多回帖

发帖
×
20
完善资料,
赚取积分