学单片机C++:AVR单片机IO口操作

[复制链接]
3008|6
 楼主| CC2530 发表于 2011-7-10 14:38 | 显示全部楼层 |阅读模式
本帖最后由 CC2530 于 2011-7-11 08:43 编辑

更新一下:IO口加入极性操作(On,off)

  1. #define LED_1        IO_AVR_OBJECT_DEF(A,1)             //LED_1:A1
  2. #define LED_2        IO_AVR_OBJECT_POLARITY_DEF(B,5,0)  //LED_2:B5,低电平表示ON
  3. uint8 x;
  4. int main(void)
  5. {  
  6.   LED_1.MakeOut().Set().Clr().Toggle().MakeInHighImpedance().Read(x);
  7.   LED_1.Write(!x);
  8.   
  9.   LED_2.MakeOut().On().Off().Toggle().MakeInHighImpedance().ReadOnOff(x);
  10.   LED_2.WriteOnOff(!x);
  11.   while(1);
  12. }
  1.          RSEG CODE:CODE:NOROOT(1)
  2. //    9 int main(void)
  3. main:
  4. //   10 {  
  5. //   11
  6. //   12   LED_1.MakeOut().Set().Clr().Toggle().MakeInHighImpedance().Read(x);
  7.         SBI     0x1A, 0x01
  8.         SBI     0x1B, 0x01
  9.         CBI     0x1B, 0x01
  10.         LDI     R16, 2
  11.         IN      R17, 0x1B
  12.         EOR     R17, R16
  13.         OUT     0x1B, R17
  14.         CBI     0x1A, 0x01
  15.         CBI     0x1B, 0x01
  16.         SBIS    0x19, 0x01
  17.         RJMP    ??main_0
  18.         CBI     0x1B, 0x01
  19.         RJMP    ??main_1
  20. ??main_0:
  21.         SBI     0x1B, 0x01
  22. //   13   LED_1.Write(!x);
  23. //   14   
  24. //   15   LED_2.MakeOut().On().Off().Toggle().MakeInHighImpedance().ReadOnOff(x);
  25. ??main_1:
  26.         SBI     0x17, 0x05
  27.         CBI     0x18, 0x05
  28.         SBI     0x18, 0x05
  29.         LDI     R16, 32
  30.         IN      R17, 0x18
  31.         EOR     R17, R16
  32.         OUT     0x18, R17
  33.         CBI     0x17, 0x05
  34.         CBI     0x18, 0x05
  35.         SBIS    0x18, 0x05
  36.         RJMP    ??main_2
  37.         CBI     0x18, 0x05
  38.         RJMP    ??main_3
  39. ??main_2:
  40.         SBI     0x18, 0x05
  41. //   16   LED_2.WriteOnOff(!x);
  42. //   17
  43. //   18   while(1);
51小刚 发表于 2011-7-10 14:42 | 显示全部楼层
来抢个上官的沙发坐坐
hotpower 发表于 2011-7-10 16:48 | 显示全部楼层
支持在AVR上CPP
plc_avr 发表于 2011-7-11 06:23 | 显示全部楼层
这个工程全了么?C++的工程效率挺高啊,端口操作全一条指令.
 楼主| CC2530 发表于 2011-7-11 07:09 | 显示全部楼层
这个工程全了么?C++的工程效率挺高啊,端口操作全一条指令.
plc_avr 发表于 2011-7-11 06:23


完整的工程,
楼上要吗?
JAKEA 发表于 2011-7-11 07:19 | 显示全部楼层
bnyuli 发表于 2011-7-11 14:01 | 显示全部楼层
哈哈哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:该死的ST,还不赶快出STM8L小FLASH片子

0

主题

262

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部