C语言!与~的区别

! :逻辑取反,凡是值不为0的,! 就等于0; 如果值为0,则 ! 的值为1
~ :按位取反, 即那些为0的位,结果是1,而那些为1的位,结果是0。

int a=2 ;           // 用二进制表示为0b00 00 00 10;
!a = 0;             //逻辑取反
~a = 0b11 11 11 01  //按位取反

所以在做判断条件时,一定要用!(逻辑取反),以免出错!

static、extern分析总结 嵌入式系统

static、extern分析总结

对于写了很多小程序的人,可能static和extern都用的很少,因为static和extern通常在工程量很大时候才能体现优势很必要性,这就不奇怪Linux内核代码中“泛滥”着这两个关键词,而且据我...
PIC单片机上可以使用的RTOS 嵌入式开发

PIC单片机上可以使用的RTOS

PIC单片机上面可以使用的RTOS是比较少的,开源的就更少了。FreeRTOS虽然也支持PIC,但是因为需要的资源较多,所以只能在少数高端PIC单片机上使用。 OSA是在PIC单片机上使用的开源RTO...