一:怎样用extern声明一个数组为外部数组:
方法一:
1、首先定义一个数组,u8 USART_RX_BUF[100];
2、extern u8 USART_RX_BUF[];
方法二:
1、首先定义一个数组,u8 USART_RX_BUF[100];
2、定义一个指针,并绑定数组:u8 *pRxBuf = USART_RX_BUF;
3、这样就可以用extern u8 *pRxBuf去声明。间接的访问数组。
注意:不能直接extern u8 USART_RX_BUF[100],而是先要用指针绑定数组,再声明指针。
二:注意指针加1的用法:
三:C 语言三目运算符 max = (a > b) ? a : b ; // 取变量a,b中较大一个,并赋值给变量max
条件运算符的一般格式:
表达式1 ? 表达上2:表达式3
举例如下:
max = (a > b) ? a : b ; // 取变量a,b中较大一个,并赋值给变量max
四:C语言 条件编译#ifdef
1)条件编译:
#ifdef 标示符
程序段1
#else
程序段2
#endif
例如:
#ifdef STM32F10X_HD
大容量芯片需要的一些变量定义
#endif
五:C语言6种位操作运算符
运算符:
1)& :按位与
2)| :按位或
3)^ : 按位异或
4)~ : 取反
5)<< : 左移
6)>> : 右移
六:程序中比较好的C语言风格:
1、typedef enum {FALSE = 0, TRUE = !FALSE} BOOL;
2、#define BT_STATUS_DET() GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_12)
3、#define LED_R(statu) if(statu==HIGH) GPIO_SetBits(GPIOA,GPIO_Pin_3);\
else GPIO_ResetBits(GPIOA,GPIO_Pin_3);
七:指针
1、指针变量和普通变量没有任何区别都是一个变量,所占的地址空间都4字节。
2、指针变量存在的意义就是指向别人。