MSP430系列单片机:CCS平台之volatile声明

7.29
暑假在校一段时间,再过一个星期就回家了,有点小激动
上一段时间在自己电脑CCS上编译了下师兄给的虚拟示波器代码,发现编译有错误,就没管了(argument of type “volatile unsigned char ” is incompatible with parameter of type “unsigned char
其实我对MSP430已经兴趣在减…别人都开始玩先进算法,玩机器学习,就我们还要玩单片机,都硕士了……不是我歧视玩单片机,我还是很喜欢玩单片机的…

今天下午又看了下错误,是volatile这个变量声明前加的声明有问题,在辅导单片机课程的时候也问过别人,师兄说是不加的话单片机会时不时的优化通用寄存器,我一开始还是不理解什么叫优化了地址,然后今天百度了下,单片机为了加快运算速度,会规定时间优化寄存器地址,把地址数据刷新(我的理解,不知道是不是这样),这样别的地址需要提取的时候就会拿不到这被刷新地址的数据,如果加入了volatile声明,就会固定住地址,不会让单片机刷新这个地址,以前用IAR环境从来不用这样。

解决办法:将指针声明函数里的char *p改成volatile char *p,使得变成实参,固定参数地址

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值