设置25358的GPIO为输出时,怎么一直提示错误,这个函数是库里的啊,怎么老是报错?
YiKai Chen:
你用的是什麼例程,我把同樣的兩行放在Z-Stack SampleSwitch的zclSampleSw_Init裡頭並不會有編譯錯誤
Alvin Chen:
回复 YiKai Chen:
这个看上去是裸机不是Z-stack ,请在sdk下面使用该接口。
user5367314:
回复 YiKai Chen:
我用的3.0.2的switch例程,我要控制IO,但是该例程里面默认的是不是没有IO口的控制API?
是不是要自己添加gpio.c函数?
另外该例程里有没有延时的API?类似2530的onboard_wait
YiKai Chen:
回复 user5367314:
1.IO口的控制API是GPIOPinWrite
2. 對的,没有延时的API
user5367314:
回复 YiKai Chen:
还有些疑问:
1.例如把2538的PB3设为输出,然后控制上下拉
是不是只要初始化GPIOPinTypeGPIOOutput(GPIO_B_BASE, GPIO_PIN_3);
然后通过GPIOPinWrite(GPIO_B_BASE, GPIO_PIN_3, 0xFF);去控制上下拉,
GPIOPinWrite的最后一个参数,没有控制的那个脚是写0还是1,必须我把PB3上下拉,同时不影响别的脚,该怎么控制?
2.GPIO除了初始化要设置方向,其他的时钟等要不要自己初始化,我是基于3.0.2 switch例程的
YiKai Chen:
回复 user5367314:
1. 要輸出1的話,GPIOPinWrite的最后一个参数必須設置跟第二个参数一樣的值,要輸出0的話,GPIOPinWrite的最后一个参数設置為0即可
2. 其他的时钟指的是什麼?
Alvin Chen:
回复 user5367314:
hal_board_cfg.h有关于GPIO drivers的使用参考。
Alvin Chen:
回复 user5367314:
类似于:/* LEDs (off, output low) */\GPIOPinTypeGPIOOutput(PWM_LED_BASE, PWM_LED_ALL);\GPIOPinWrite(PWM_LED_BASE, PWM_LED_ALL, 0);
user5367314:
回复 YiKai Chen:
2538的SSI调试,一直卡在下面的while处,可能是什么原因?
void
SSIDataGet(uint32_t ui32Base, uint32_t *pui32Data)
{//// Check the arguments.//ASSERT((ui32Base == SSI0_BASE) || (ui32Base == SSI1_BASE));
//// Wait until there is data to be read.//while(!(HWREG(ui32Base + SSI_O_SR) & SSI_SR_RNE))//一直卡在这里{}
//// Read data from SSI.//*pui32Data = HWREG(ui32Base + SSI_O_DR);
}
YiKai Chen:
回复 user5367314:
你這個源碼哪來的?