打印

有使用c18的朋友吗?

[复制链接]
448|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huandaczq|  楼主 | 2018-1-16 18:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
mplab用c18编译,芯片使用pic18f45k22。
问题【1】:在h文件夹找不到p18f45k22点头文件,但是#include <p18f45k22>可以成功。  问题就是如果去找到我所需要的p18f45k22
问题【2】:因为是根据之前写好的程序进行一些改写,发现模数转换所需的一些位没有被定义(go和adon)然后去翻之前编译使用的头文件和45k22相似的4520头文件进行比较。
发现之前go可以用的时候头文件里说 wolatile bit go @((unsigned)&adcon0*8)+2;
然而现在说没有定义的go或者adon是:  unsigned go:1; 应该是位没有在头文件里被定义,所以我build的时候,他说我go和adon没有被定义,编译不成功,第二个问题是:没有被定义这么办?

因为有很多方法,但是我使用的是while(GO);等他等待出结果的办法,如果只用这种办法的话是不是就肯定行不通了,因为用adcon0<0>=1;是可以的,但是while(adcon0<0>)就愈发错误了。之前直接while(go)就可以了。不知道怎么解决,难道需要加一个bool的类型?之前没用过!
希望大神们指点一下!多些了
评论
huandaczq 2018-1-17 12:59 回复TA
第二个问题自己找了半天资料加上去无限build测试,已经找出答案了: 大写寄存器名字+小写bits+.+你所需的位。 举例: 1,PORTBbits.RB2=1; 2,ADCON0bits.GO=0; 

相关帖子

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

本版积分规则

34

主题

186

帖子

0

粉丝