我用官方下載的例程GPIO_Toggle把IO口修改為PC12、無法控制上面的LED亮滅,其它IO都可以,請問大概是什么原因?是需要重新配置什么復用功能嗎?
您好,注意一下ld文件FLASH、RAM的大小配置,以及啟動文件和ch32v20x.h文件中相關宏定義的選擇,如下圖。附件是我的測試例程,測試是沒有問題的,你可以參考一下。
謝謝TECH62,按照您的方法已經(jīng)搞定!
我是這樣寫的,感覺比例程方便多了。
static void ch32_pin_toggle(rt_device_t dev, rt_base_t pin)
{
? ? const struct pin_index *index;
? ? index = get_pin(pin);
? ? if (index == RT_NULL)
? ? {
? ? ? ? return;
? ? }
? ? if(GPIO_ReadOutputDataBit(index->gpio, index->pin))
? ? {
? ? ? ? GPIO_ResetBits(index->gpio, index->pin);
? ? }
? ? else {
? ? ? ? GPIO_SetBits(index->gpio, index->pin);
? ? }
}