最近在学习使用TI公司的MSP4305529的超低功耗单片机,在我用CCSv5编译工程的时候,遇到一些问题,需要你们帮忙看一下:
1.有时候在编译工程的时候,第一次跟第二次build,显示的错误信息都不一样,有时候第一次编译的时候会出现一些警告或者错误,修改一下再次编译的时候前面一次遇到的警告和错误都不见了,这个是怎么回事???
2.在HAL_Wheel.c里面的中断函数,里面有个switch结构,每个分支对应于中断向量的标志,在其中一个分支下我随意加上一句s=0;的语句,s是没有经过定义一个变量,是我用来测试用的,然后clean再次编译整个工程,发觉错误信息栏并没有报错,而且上次出现的警告信息也没有,我就觉得很奇怪,是不是文件的编译路径没有被包含进来,但是我使用的都是TI提供的工程,这个是什么问题???
3.是关于代码的问题:#pragma vector = ADC12_VECTOR
__interrupt void ADC12_ISR(void)
上面两行是中断向量入口,TI提供的例子,有时候写的是 ADC12_ISR(void),有时候写的是 ADC12ISR(void),区别就是带不带下划线,请问这两个带不带下划线的中断服务程序有什么区别吗???
4.在利用TI给的LAB4建立工程的时候,我在里面建立自己创建的一个C文件myADC12.c,里面定义了一些关于AD的函数,包括ADC中断服务程序,我把HAL_Wheel.c里面的中断服务程序给注释掉,并把HAL_Wheel.c里面的中断服务程序复制到myADC12.c,方便以后自己用,因为要用到多个通道的AD转换,所以干脆把它们都放在一个myADC12.c文件里面,然后编译整个工程,结果报错,错误是ADC12_ISR已经重复定义,然后我把ADC12_ISR改为ADC12ISR(不带下划线)然后再次编译,不报错,然后我把HAL_Wheel.c里面的注释去掉,再次编译,不报错。。。这些是什么问题???
5.在用CCSv5的时候有时候也会出现一些小问题,是不是CCS新版本本身存在一些小BUG。。。
以上问题均基于CCSv5上的,而且工程用的都是TI自带的例程,配置均没进行修改。