[PIC单片机] 请PIC的大佬们解释一下:在下是否遇到的是“槽点”

[复制链接]
200|2
 楼主 | 2018-6-30 11:50 | 显示全部楼层 |阅读模式
本帖最后由 kingTek 于 2018-6-30 16:32 编辑

近半年来切入PIC的使用,用的是16F876A,感觉我原来搞单片机正常的线性地址空间等思维被扭曲,记录了

一下,问题多达20多处,且还在不断发现新的问题。

暂且不说多字节减法,“bank”切换 之类,

先陈述一个非常明显的诡异现象,暂且不敢说是bug,问题如下:

CCP1,CCP2捕获中断,在不需要时,即使代码中有语句关断CCP1,CCP2中断,但只要RC1~2有输入信号,

程序也能进入中断,

而维持此时的设置,仅仅将RC1~2设置为输出模式时,情况就又变了,这时程序就无法进入CCP1,CCP2中断

何故?
| 2018-7-2 18:05 | 显示全部楼层
用PIC就不能用51的那种思维方式,PIC比较有个性。

个人猜测:
1、你设置为输出模式了,所以捕获被管脚的外部信号锁定了。
2、你的中断函数有问题,PIC的中断函数绝对不能按照51那种写法,这种单中断入口的芯片,你进入中断函数后必须将中断容许位和中断标志位结合起来判断到底是哪个中断源发生了,绝对不能只判断中断标志位,否则的话你就别用PIC了。
3、PIC在一个IO口上往往复用了很多模块,请将不需要的模块完全禁止掉,否则出错那就是你个人没设置正确的问题了
| 2018-7-2 18:06 | 显示全部楼层
876已经是老的掉牙的型号了,请至少用PIC16F19XX系列的,当然也可以用最新的PIC16F18XXX系列。

另外,建议用C语言把,这样BANK就不是问题了
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

关闭

热门推荐上一条 /6 下一条

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