[讨论] 如何向GPIO口写数据

我是一只小麻雀   2013-8-8 00:09 楼主
求高手解释这是怎么回事啊?不明白能否向GPIO口写数据?这样写不对吗?我用的是TI的C2000Launchpad F28027,用CCSv5.3编译的。另外,能否顺便告诉我CCS中定义位变量怎么定义啊?谢谢了!

[ 本帖最后由 我是一只小麻雀 于 2013-8-8 00:10 编辑 ]
  • 我的宏定义是这样的
  • 错误的地方在这里
  • 编译器给出的错误是这样的

回复评论 (8)

看你的定义GET_Sensor_SDA  是读端口啊。ack=GET_Sensor_SDA  还靠谱些。建议先把底层用到的函数搞清楚了在写程序。
点赞  2013-8-8 09:20
嗯,好的,谢谢!现在我还初学,对底层函数还不够清楚,不知道使用哪个函数能向GPIO口写数据?
点赞  2013-8-8 13:45
读出gpioNumber所在IO数据寄存器(GPADAT和GPBDAT),把提取gpioNumber相应位数据。
GPADAT读出的数据就是GPIO0_32的数据,GPBDAT读出的数据就是GPIO32以上IO口的数据。
这些你可以看28027 关于IO口的datasheet,
初学者要学的是如何去学习查资料。
uint16_t GPIO_getData(GPIO_Handle gpioHandle, const GPIO_Number_e gpioNumber)
{
    GPIO_Obj *gpio = (GPIO_Obj *)gpioHandle;
    if(gpioNumber < GPIO_Number_32)
    {
        return ((gpio->GPADAT >> gpioNumber) & 0x0001);
    }
    else
    {
        return ((gpio->GPBDAT >> (gpioNumber - GPIO_Number_32)) & 0x0001);
    }
}
点赞  2013-8-8 14:15
好的,真心谢谢版主!我自己还需多钻研!
点赞  2013-8-8 15:43

回复 4楼ltbytyn 的帖子

斑竹,你们用的是库函数?有必要去学习一下吗?我从来都没有谁用过C2000的库函数。
点赞  2013-8-8 18:34

这应该怎么办呢?

请问版主,这应该怎么办呢?
  • 请问这是什么错误啊?
  • console中虽然有那个错误,但是problem中却不提示错误。
  • 然后,debug下载是就出现这个了,说是没有.out文件,这应该怎么办啊?.out应该怎么配置才能生成呢?
点赞  2013-8-9 21:43
如果楼主是初学,建议学一下C语言,这是基础,CCS使用的C语言,是标准的。

再一个,如果想掌握这个单片机,看看手册,开始时别使用它的库,这样会对它的整个编程过程会有深入的了解
点赞  2013-8-10 19:21
嗯,好,谢谢版主!
点赞  2013-8-10 22:33
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复