国产低功耗华大单片机HC32L110 HC32F003 HC32F005特殊端口应用注意事项二(外部晶振端口复用为 I/O端口)

GPIO是通用输入输出模块,MCU可将一个 IO设为模拟模式,作为 ADC输入;设为数字输入输出,或是外设端口,供特定外设使用。使用端口功能前,需要先把 GPIO模块时钟控制功能打开。
        本系列 GPIO的可复用的特殊端口有 RESET、外部晶振引脚、SWD、UART 编程接口等,用户在不同的应用当中需要根据这些端口的特性及应用特点选择不同的复用方式。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

本文旨在抛砖引玉,其余具体使用欢迎加群164973950交流。

 国产低功耗华大单片机主力型号如下:

HC32F003 HC32F005 HC32L110 HC32F030 HC32L136 HC32M140 HC32F146 HC32L150 HC32L156

芯片相关资料下载链接:https://blog.youkuaiyun.com/lvk/article/details/85260690

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

外部晶振端口复用为 I/O端口
        当不使用外部高速晶振或低速晶振时,以下端口可以复用为 I/O功能。
X32MOUT  →    P0.1
X32MIN   →    P0.2
X32KOUT   →    P1.5
X32KIN   →    P1.4
复用 I/O功能流程如下:
1.  GPIO模块时钟控制功能打开:PERI_CLKEN.GPIO置为 1。
2.  P0.1和 P0.2、P1.5和 P1.4需要配置为数字端口:P0ADS和 P1ADS相关位配置为 0。
3.  功能配置寄存器选为 GPIO功能:P01_SEL,P02_SEL,P15_SEL,P14_SEL设为 0。
4.  选择输入输出方向:设置 P00DIR和 P1DIR的相关位(0:输出,1:输入)

更多内容请点击链接加入群聊

【华大MCU应用交流】

### HC32F460 RS485 发送数据乱码解决方案 在处理HC32F460通过RS485发送数据时遇到的乱码问题,可以从多个方面进行排查和优化。 #### 1. 检查硬件连接 确保RS485模块与MCU之间的连线正确无误。特别是DE/RE控制线,这些信号用于控制RS485收发状态转换。如果配置不当可能导致传输不稳定甚至产生错误字符[^1]。 #### 2. 配置串口参数一致性 确认发送端和接收端设置相同的波特率、停止位数以及校验方式等重要参数。任何不匹配都会引起通信异常从而造成数据失真现象发生。 #### 3. 调整软件缓冲区管理逻辑 对于`tvrRxs`结构体中的成员变量操作需谨慎对待: - `buf[]`: 存储接收到的信息; - `len`: 记录当前已存入的有效字节数量; - 当新到来的一个字符被追加到缓存队列末端(`tvrRxs.buf[tvrRxs.len++]`)之后要立即判断是否超出预定义的最大容量(FIFO_MAX_SIZE),一旦越界则重置计数值为零以防止溢出引发未知行为; 此外,在实际应用过程中还应该考虑加入更完善的流量控制机制来提高系统的健壮性和可靠性。 ```c void TovrRx(u8 ch) { if (tvrRxs.lock) return; // 添加临界区保护或其他同步措施避免多任务环境下竞争条件的发生 tvrRxs.buf[tvrRxs.len++] = ch; if (tvrRxs.len >= FIFO_MAX_SIZE) { // 修改此处比较运算符 tvrRxs.len = 0; } tvrRxs.flg = 1; tvrRxs.ct = tvrRxs.tim; } ``` #### 4. 增强抗干扰能力 为了减少外部电磁环境变化给通讯链路带来的负面影响,可以在物理层面上采取屏蔽双绞线布设路径并保持适当距离远离其他可能源的方法;同时也可以尝试降低工作频率或者选用具备更强纠错功能编码协议等方式提升整体性能表现水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值