高手过来看看为什么会出错

2020-02-10 08:32发布


(原文件名:QQ截图未命名.png)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
xjl1227
1楼-- · 2020-02-10 08:49
最简单的程序也出错



(原文件名:QQ截图未命名2.png)
xjl1227
2楼-- · 2020-02-10 10:16
 精彩回答 2  元偷偷看……
micropower
3楼-- · 2020-02-10 14:55
在PIC中,TRISB0等于一个关键字,不能再次定义它。
在PIC10/12/16等中端的8位MCU中 “TRISB0 = 0;”就是给RB0引脚设置为输出。而pic18及PIC24等MCU要实现上述同样功能的C代码程序是 TRISBbits.TRISB0=0;
micropower
4楼-- · 2020-02-10 20:01
楼主说的这种static bit ISB0 @ PORTAIT(TRISB,0)语句我一直没用过,仔细看了一下估计大体意思是把TRISB的第0个位定义为ISB0。
不知道我说的是不是对的。
如果是这个意思这种语句在51的C里比较好用,但在PIC里用那是多此一举,因为PICC的头文件已经给你定义好了TRISB0还有RB0,直接对其赋值操作即可你可以找到HT-PIC的安装目录,找一下include目录那里有各款单片机的头文件。

另外,你说的p0 = !p0;之类的也是可以使用的,如图我用的是MPLAB8.30自带的PICC9.60编译16F886的程序:
看红圈里的程序

(原文件名:TEMP.JPG)

我经常拿这个来写信号输出,实在不行就嵌入汇编,就是红框下面的两句话,效果同等。
你好好看看具体问题出在哪里。
xjl1227
5楼-- · 2020-02-11 01:10
多谢楼上,其实我也觉得那些位定义语句是多余的,只不过先照着书上写写。。取反语句我再试试看
halin88
6楼-- · 2020-02-11 02:28
#define  中的参数比特bit   不能用

一周热门 更多>