Keil环境下用LPC2132控制AS-UIII机器人,GPIO操作不正常,怎么办?

2019-03-25 20:37发布

用LPC2132作为主控制器控制上海未来伙伴(原广茂达)机器人有限公司的AS-UIII机器人。在 uv4 环境下建立附件所示工程后,在软件仿真模式下监控发现 main.c 中 IO0CLR = DO_C2 及 IO0CLR = DO_C1 针对GPIO功能的操作不成功。资料上说该指令是针对位的操作方式,但宏定义 DO_C2 和 DO_C1 为对应总线操作方式的寄存器值,应采用 IOPINx 指令操作。请问高手如何处理? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
zhaojun_xf
1楼-- · 2019-03-26 07:50
_NXP LPC1000_ IOPINx 是对寄存器
zhaojun_xf
2楼-- · 2019-03-26 08:43
写数据可以这样实现
#define   TFT_DAT         (0xFFFF)                         // P0.0~P0.15
#define   TFT_WRITEDATA(dat)                    
          {                                                                      
         IO0CLR = TFT_DAT;                            
          IO0SET = dat;                            
     }
xuehans
3楼-- · 2019-03-26 09:00
是楼上所言的操作步骤,但写入的数据全0,与期望不符。
zhaojun_xf
4楼-- · 2019-03-26 14:34
不可能,那是你别的地方问题,上面的代码是我验证过的
zhaojun_xf
5楼-- · 2019-03-26 18:01
代码非常简单,先把所有端口写0,在把需要的端口写1,因为ARM7不知道同时写入0和1,所以必须通过上面两句才能完成。
你先看看端口方向,模式等的设置是否正确。

一周热门 更多>