OpenEdv-开源电子网

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

求助求助,大神帮帮忙,原子哥,,

[复制链接]

6

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2017-9-4
在线时间
12 小时
发表于 2018-5-4 12:52:22 | 显示全部楼层 |阅读模式
5金钱
我用的精英板,我最近想通过汉字显示实验程序来改改,改成可以通过485接口把电脑发过来的数据显示在LCD液晶屏上,可是始终不成功,连串口2中断都进不去,程序不复杂,但是我找不到原因,大家帮忙分析分析,谢谢啦,我实验的现象是:汉字可以正常显示,但是电脑发的数据显示不出来。下面是部分程序



3.png
2.png
1.png

最佳答案

查看完整内容[请看2#楼]

问题我找到了,,我的485使能接的是PD7,我明明在初始化函数里把它设为低电平,也就是发送模式,但是后来不知道为何复位后就成高电平了(万用表测的),所以接收中断一直进不去,现在我在while(1)先把它设为低电平,然后就能接收到数据了,,问题解决了,但是我很费解,我不知道为什么在汉字显示实验里PD7初始化程序设置的低电平,复位后就成了高电平。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2017-9-4
在线时间
12 小时
 楼主| 发表于 2018-5-4 12:52:23 | 显示全部楼层
问题我找到了,,我的485使能接的是PD7,我明明在初始化函数里把它设为低电平,也就是发送模式,但是后来不知道为何复位后就成高电平了(万用表测的),所以接收中断一直进不去,现在我在while(1)先把它设为低电平,然后就能接收到数据了,,问题解决了,但是我很费解,我不知道为什么在汉字显示实验里PD7初始化程序设置的低电平,复位后就成了高电平。。
回复

使用道具 举报

6

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2017-9-4
在线时间
12 小时
 楼主| 发表于 2018-5-4 12:56:06 | 显示全部楼层
初始化的时候,,u8 RS485_RX_Ready_flag=0;,我忘记写了
回复

使用道具 举报

17

主题

56

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
394
金钱
394
注册时间
2015-1-7
在线时间
101 小时
发表于 2018-5-4 13:08:19 | 显示全部楼层
中断函数里清中断标志了吗
回复

使用道具 举报

1

主题

882

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3071
金钱
3071
注册时间
2018-2-7
在线时间
285 小时
发表于 2018-5-4 15:31:29 | 显示全部楼层
打断点一步一步找问题
回复

使用道具 举报

16

主题

409

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1292
金钱
1292
注册时间
2014-12-20
在线时间
534 小时
发表于 2018-5-4 16:29:04 | 显示全部楼层
你单独调试一下你的485工作正不正常哦。
回复

使用道具 举报

6

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2017-9-4
在线时间
12 小时
 楼主| 发表于 2018-5-4 17:43:37 | 显示全部楼层
BMN李 发表于 2018-5-4 16:29
你单独调试一下你的485工作正不正常哦。

单独调试485没有问题,但是一但加上汉字显示,就不行了
回复

使用道具 举报

6

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2017-9-4
在线时间
12 小时
 楼主| 发表于 2018-5-4 17:51:51 | 显示全部楼层
zhang062061 发表于 2018-5-4 13:08
中断函数里清中断标志了吗

现在是中断都进不去,我中断里写了个亮灯操作,当每次收到数据触发接收中断灯就应该亮,但是灯不亮,所以中断应该没有进,,
回复

使用道具 举报

7

主题

48

帖子

0

精华

高级会员

Rank: 4

积分
502
金钱
502
注册时间
2017-12-11
在线时间
63 小时
发表于 2018-5-4 18:11:04 | 显示全部楼层
接收后RS485_RX_Ready_flag置1后,while里检测到后需要置位吗?RS485_Rx_CNT大于64后,处理完数据后,不需要置零吗?你是接收到一位就显示,还是接收完64位后在显示?
回复

使用道具 举报

7

主题

48

帖子

0

精华

高级会员

Rank: 4

积分
502
金钱
502
注册时间
2017-12-11
在线时间
63 小时
发表于 2018-5-4 18:12:56 | 显示全部楼层
还有4楼给你说了中断函数里面没有清除中断标志位。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-5-5 01:20:37 | 显示全部楼层
天马行空的想象 发表于 2018-5-4 12:52
问题我找到了,,我的485使能接的是PD7,我明明在初始化函数里把它设为低电平,也就是发送模式,但是后来不 ...

肯定你代码其他地方又重新初始化了PD7
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

6

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2017-9-4
在线时间
12 小时
 楼主| 发表于 2018-5-5 10:53:23 | 显示全部楼层
轱辘t309065 发表于 2018-5-4 18:12
还有4楼给你说了中断函数里面没有清除中断标志位。

嗯嗯,对的 ,道理来说应该加清除中断标志位的,我主要是看例程里面没有加,后来我就没有加,应该加的
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-7 19:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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