请教:bit point_on=0的作用
在学马老师的第六章,其中单个数码管的显示程序中有bitpoint_on=0
.
.
.
if(piont_on)porta|=0x80
.
.
.
point_on=~point_on
本人看不明白,烦请马老师注解一下,或看明白的人指教 对不起马老师,我把BIT改成unsigned char后编译才通过;可能我用的是ICC的缘故。 晕,看完第六章才明白point_on的作用,马老师真是煞费苦心!
谢谢你,马老师! 我也不懂这个是干吗的,百思不得其解啊,请已经知道的大侠帮忙解说一下,学的好困难啊
谢谢了请回复到ssunliang@sohu.com
不胜感激 bit 是定义了一个只能为0或1的变量 point_on本身是一个标志变量,在这里该标志只有“0”和“1”两种情况。
由于CVAVR支持位(BIT)变量(标准C中是没有这样的变量类型),所以把它定义成BIT型,它只占用一个字节的1位,这样一个字节就能放8个位变量。
ICC不支持位变量,所以只能定义成char(字节型)。这样就浪费RAM空间了。
如果系统中使用了8个只有“0”和“1”2种情况的标志变量,在ICC种需要占8个字节,而在CVAVR中只占1个字节。 为了显示小数点吧! 对的,point_on本身是一个标志变量,在本例中标志是否点亮小数点。0不亮,1亮。
代码中的point_on1的值间隔一定时间(如1s)做“0”、“1”转换,这样小数点也就以1s的间隔亮暗转换,表示时钟在走动。 我看到了这里 觉的马老师第十一章的第一个例子才想到 icc中是没有bit的 今天看到这个帖子才彻底明白,谢谢马老师。 看了你的解释才明白,谢谢马老师! 善
页:
[1]