微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 如何在BIM中添加pin的驱动

如何在BIM中添加pin的驱动

时间:10-02 整理:3721RD 点击:

如何在BIM中添加pin的驱动,因为ImgB没有OAD功能,希望在ImgB不能正常工作时,也能够在boot的时候通过引脚电平去选择从ImgA启动,但是我想加入PIN.h和CC26XXPIN.C的时候提示各种错误,我把其他工程中的路径包含和宏定义都加上也不行,请问是还缺少什么?

Jianhua,

BIM木有跑TI-RTOS,所以显然你的方法是不行的,你的方法都是TI-RTOS的接口。

这种情况下你只能通过访问寄存器来操作IO。

看一下TRM文档的寄存器配置方法,代码里用 HWREG(IOC_BASE+ ×××) 的方法配置寄存器就行。

Yan,

GPIO的时钟默认是开启的么?我写了一个配置函数,一个读取电平的函数,可是每次运行到读取电平的函数就出错了,这个寄存器怎么不能访问呢?

#define Board_Module_EN IOID_1
#define CFG_HYST_EN 30
#define CFG_IE 29
#define PULL_CTL_H 14
#define PULL_CTL_L 13

void Pin_Init(void)
{
uint32_t Origincfg = 0;Newcfg = 0;
//PRCM GPIO clk
HWREG(PRCM_BASE + PRCM_O_GPIOCLKGR) |= 0x01;
//
Origincfg = HWREG(IOC_BASE + IOC_O_IOCFG0 + 4*Board_Module_EN);
Newcfg = Origincfg;
//Input
Newcfg = Newcfg |(1<<CFG_IE);
//Nopull
Newcfg = Newcfg |(1<<PULL_CTL_H);
Newcfg = Newcfg |(1<<PULL_CTL_L);
//HYS
Newcfg = Newcfg |(1<<CFG_HYST_EN);

HWREG(IOC_BASE + IOC_O_IOCFG0 + 4*Board_Module_EN) = Newcfg;

}
uint8_t Pin_Read(uint8_t Pinid)
{
uint8_t val=0;
val = (uint8_t)(HWREG(GPIO_BASE+GPIO_O_DIN31_0)>>Pinid)&0x01;
return val;
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top