2020-11-15
为什么单片机中要用|=,&=呢?直接用=不行吗?
单片机中在给寄存器赋值时,常常写data|=0x03
不直接写data=0x03,是因为前者可以保护寄存器上其它位的值,只改变想要改变的位。
同样data&=~0x03就给寄存器的_0位和_1位置0了,但是不改变其它位的值。
2020-11-21
Error[e46]: Undefined external “debug_str::?relay” referred in hal_lcd ( C:\Texas Instruments\ZStack-CC2530-2.3.0-1.4.0\Projects\zstack\Samples\SampleApp\
这条错误把debug_str( (uint8*)buf );这行注释掉就好了。看起来是没有定义debug_str,或者是说它的定义是局部变量,只在某个范围内有效。
看起来是个无关紧要的语句,问题解决了就暂时先不管了。

本文探讨了单片机编程中使用位操作符如`|=`, `&=`的原因,解释了它们如何保护寄存器中其他位的值,并通过示例说明了其作用。同时,也提及了在遇到未定义外部引用错误时的解决方法,指出错误可能是由于未定义的全局变量或局部变量的作用域问题导致。
6600

被折叠的 条评论
为什么被折叠?



