打印
[PIC®/AVR®/dsPIC®产品]

pic16单片机串口程序调通啦

[复制链接]
1095|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
昊430|  楼主 | 2020-12-4 10:57 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
型号pic16f1614,8位单片机。调试串口的发送功能。不太顺利。从microchip官网上下载例程。8位单片机的非常少。只有一个串口的程序,是用汇编写的,当然,我可以看每个寄存器的配置方式,用c写一遍就是了。结合自己的程序,没有发现哪里配置不对。也有可能是因为型号不一致。例程的型号是P18c452。我也在网上搜索一些程序。类似这种
TRISC=0xC0; TRISA=0XC0;//RA0--RA5为输出
SPBRG=0X19;//设置波特率为9600BPS
TXSTA=0X24;//使能串口发送,选择高速波特率
RCSTA=0X90;//使能串口工作,连续接收
RCIE=0X1;//使能接收中断
GIE=0X1;//开放全局中断
PEIE=0X1;//使能外部中断
根据具体型号,对寄存器的名称作了对应的修改。
调了半天,依然看不到串口波形。
而且,以gpio的方式操作引脚,竟然有波形。恐怕是初始化不对啊。
手册也是看过的。有的地方也怀疑过。
比如RxyPPS。这个寄存器的配置决定引脚输出的信号,不论是官方例程,还是网上的一些程序,都没有涉及这个寄存器。难道是这个型号比较特殊?后来,找到了串口对应的脚位序号。是RC4PPS。根据手册,把它配置成串口发送。
RC4PPS = 0x06;
别的地方,和原来一样。程序烧进去。表笔放在引脚上。竟然出现了波形!其实,我根本就没有抱什么希望。就是瞎试一下而已。竟然找到了突破点。哎,好吧,不想多说了,一个区区的基本的串口程序,需要自己探索着写出来,官网例程少而不给力。型号之间兼容性不怎么地。幸好手册的描述还是比较清楚的。
此帖出自Microchip MCU论坛
PIC

捕获2.PNG (46.61 KB, 下载次数: 1)


[url=] [/url]

捕获4.PNG (28.42 KB, 下载次数: 0)


[url=] [/url]


使用特权

评论回复
沙发
人生长苦| | 2020-12-4 11:23 | 只看该作者
用stc吧,直接调用强大的printf

使用特权

评论回复
板凳
抱书人人| | 2020-12-4 12:36 | 只看该作者
谢谢分享,辛苦了

使用特权

评论回复
地板
MianQi| | 2020-12-4 12:42 | 只看该作者
本帖最后由 MianQi 于 2020-12-4 12:44 编辑

的确有例程不可信的情况,所以看例程要看有没有实效截图或视频。最终还是要以自己调通为准。

楼主有没有想过为什么串口没有信号时,GPIO却有。

使用特权

评论回复
5
hu9jj| | 2020-12-4 14:11 | 只看该作者
用MCC生成代码,其中会有示例可供参考的。

使用特权

评论回复
6
CoolSilicon| | 2020-12-4 14:55 | 只看该作者
pic16f1614算是比较新的了, 为啥不用MCC生成呢???

使用特权

评论回复
7
箫声欲碎| | 2020-12-10 11:18 | 只看该作者
前段时间也配置过串口。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

49

主题

975

帖子

5

粉丝