本帖最后由 springvirus 于 2013-11-20 09:12 编辑
昨天用M058S板子让一个LED闪烁了,用ICP烧入程序,还算顺利
51单片机控制一组IO时,可以直接P0 = 0x55,8个LED,间隔亮(低电平点亮),看M051的头文件也定义了P0
但是这样写时,MDK报错: expression must be a modifiable lvalue,看来这样赋值行不通,看到相关宏定义都是位操作,那如何
整体控制呢?
看代码有#define P0 ((GPIO_T *) P0_BASE) /*!< GPIO PORT0 Configuration Struct */
所以P0是指针,再看GPIO_T的结构定义中有个DOUT,它的0~7正好pin0~pin7的输出值,这样就对了
可以这样写 P0->DOUT = 0x55; 编译通过,待上板子实验!若没有问题,就可以封装成宏,放入GPIO.H中了 |