分享一个HC32F005的GPIO复用配置的bug
本帖最后由 loony85 于 2021-8-24 16:27 编辑最近要实现一个PWM控制泵转速的功能,之前在硬件设计的时候预留了一个I/O口,一直没有使用。于是根据例程写了一段程序,烧脑的事情来了:
例程使用的P34口,
GpioInitStruct.enDrv= GpioDrvH;
GpioInitStruct.enDir= GpioDirOut;
Gpio_Init(GpioPort3, GpioPin4, &GpioInitStruct);
Gpio_SetAfMode(GpioPort3, GpioPin4, GpioAf1);
Pca_M0Init(&PcaInitStruct);
例程的P34配置为GpioAf1,对应PCA 的模块0,可以正常实现PWM输出。
我的板子用的P32作为PWM输出端口,根据数据手册第21页中GPIO的功能分配表,P32对应PCA_CH2,根据在表中的排序,与P34的一致,于是也按GpioAf1设置GPIO口,但是一致没成功。
GpioInitStruct.enDrv= GpioDrvH;
GpioInitStruct.enDir= GpioDirOut;
Gpio_Init(GpioPort3, GpioPin2, &GpioInitStruct);
//Gpio_SetAfMode(GpioPort3, GpioPin2, GpioAf1);//输出3.3V
Gpio_SetAfMode(GpioPort3, GpioPin2, GpioAf2); //pwm输出
Pca_M2Init(&PcaInitStruct);
这个问题困扰了我几个小时,最后我试着用GpioAf2设置GPIO口,PWM一下就出来!!!
不知道是手册的问题,还是我没找到具体说明的位置。
另外还有个问题,也是这个GPIO复用功能配置的问题,P15在复用为UART的时候,如果按照手册应该配置为GpioAf5,但实际应配置为GpioAf6才能使用。
可以看看这个功能分配表 zhugjbest 发表于 2021-8-24 19:26
可以看看这个功能分配表
感谢分享。 呃,刚又去官网看了一下资料,发现有管脚的配置说明,所以这不是个BUG,是我自己的问题。
草率了。
此贴到此终结。 loony85 发表于 2021-8-25 08:18
呃,刚又去官网看了一下资料,发现有管脚的配置说明,所以这不是个BUG,是我自己的问题。
草率了。
此贴到 ...
F005不是一个功能全在相同复用编号里面的 martinhu 发表于 2021-8-25 09:19
F005不是一个功能全在相同复用编号里面的
是的,谢谢。 谢谢分享。
页:
[1]