完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 Rsgofov 于 2016-7-22 19:42 编辑
RT,使用BSL烧写程序,相同的程序,在IAR上编译生成的TXT文件和在CCS上编译产生的CCS的TXT文件不同,最终烧到板子上效果也不同。这是为什么呢,有什么解决措施么? |
|
相关推荐
1个回答
|
|
CCS和IAR都是TI本家的软件,都可生成TXT文件通过BSL方式进行烧写。但是两着编译器器不同,优化和实现不一样,所以生成的TXT文件会有差异。这是正常的。但是相同的代码,IAR编译出来能用,CCS不能,着一定是代码的问题。
比如: //************************************************************************* // ADC中断服务程序 //************************************************************************* #pragma vector=ADC12_VECTOR __interrupt void ADC12_ISR(void) { uchar j; while((ADC12CTL0&0x01)==1); //如果ADC忙,则等待,否则读取ADC转换数值 Flag = 1 ; TEMP = ADC12MEM0; //读取ADC转换值 Data_do(TEMP); //处理ADC值,用于显示 for(j=0;j<50;j++) { Display(A1,A2,A3,A4); //显示ADC的数据 } } 这段代码是正确的。因为它是修改过的 但是修改前 #pragma vector=ADC_VECTOR 是这一句。 编译时CCS给出了警告。 我们来看 MSP430 的中断子函数模板,加粗斜体部分是允许用户“创意” 的地方,其他 则是固定格式。其中, PORT1_VECTOR 是中断向量表中的地址宏定义,直接决定了这个中 断子函数是响应哪个中断源。 PORT1_ISR 是中断子函数名,这个最好按标准写法取名字,便 于理解。中断向量表和标准的中断子函数名可见头文件 __interrupt void ADC12_ISR(void) 只有黑体部分可以有创意。 ADC在头文件中没有定义,所以是错的。即使编译器没有报错。 (我的初步理解) |
|
|
|
只有小组成员才能发言,加入小组>>
3027个成员聚集在这个小组
加入小组2913 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3567 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2335 浏览 1 评论
4794 浏览 1 评论
2571 浏览 1 评论
1313浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3569浏览 2评论
2914浏览 1评论
1492浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 15:26 , Processed in 1.299008 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号