首页 > 评测 > 引脚连错了?没关系重映射一下就好了——Holychip HC89F003评测
引脚连错了?没关系重映射一下就好了——Holychip HC89F003评测
- [导读]
- 虽然16位单片机已经被超低功耗的32位单片机挤压的几乎要消失殆尽,而8位单片机却一直凭借轻盈小巧和价格低廉的优势占据市场。目前8位单片机皆根据各种各种特定应用而推出了不同的增强型,今天给大家评测的来自Holychip(芯圣)的HC89F003则是以引脚的重映射功能著称。虽然很多MCU均有重映射的功能,不过像HC89F003这样绝大多数引脚皆可重映射的并不多见。
return SUCCESS;
}
else
{//使用高频作为系统时钟
if((OscClock == CLK_OSC_32MHZ)&&(CLKDIV < CLK_CLKDIV_RESET_VALUE))return ERROR;//如果最终CPU时钟高于20M,则配置失败
CLKSWR = (CLKSWR&(~CLK_SYS_SEL))|CLK_RC32MHZ; //启动内部高频
while((CLKSWR&CLK_SYS_STA)!=CLK_RC32MHZ_FLAG); //等待高频晶振起振
OscClkBuf = CLKDIV;
CLKDIV = 2; //保证CPU工作在20M以下,
CLKSWR = OscClock|(CLKSWR&(~CLK_RC32M_DIV)); //设置RC32M分频系数
CLKDIV = OscClkBuf; //恢复CPU分频系数
return SUCCESS;
}
}
HC89F003 单片机系统时钟有 2 种时钟源可选:内部高频 RC 时钟(32 MHz)和内部低频 RC 时钟(44KHz)。其中,内部高频 RC 在-40°C ~+85°C 范围误差不超过 1%。选择后的系统时钟(如果选择的是内部高频 RC,则经 RC32M_DIV[1:0]分频后的时钟)记做 osc_clk,其频率为 F osc ,周期为 T osc ,
主要用于外设模块,osc_clk 可以进行 1-255 之间任意值的分频,分频后的时钟记做 CPU 时钟,其频率为 F cpu ,周期为 T cpu 。
CPU 最高可以运行在 20MHz 频率下,如果所选时钟源频率高于 20MHz,需要对其进行分频,使CPU 时钟频率等于或低于 20MHz。
内部低频 RC(RC44K)输出的时钟记做 wdt_clk,用于看门狗定时器的计数,也可以用于系统时钟;内部高频 RC(RC32M)输出的时钟记做 rc32m_clk,可以进行 1/2/4/8 分频。
系统初始化完成就能对芯片的引脚进行操作了。。。。
然后就是GPIO的初始化函数了,芯圣对我们还是很好的,已经集成库函数了,直接调用就OK。
一句代码的事情:
GPIO_Init(GPIOT0,GPIO_PIN_2,GPIO_MODE_IN_PU); //将P02端口设置为上拉电阻模式
库函数的使用方法很简单啊,假如我想让P00设置为推挽输出模式。。。
直接将 GPIO_PIN_2变为GPIO_PIN_0。
GPIO_MODE_IN_PU变为GPIO_MODE_OUT_PP
GPIO_Init(GPIOT0,GPIO_PIN_0, GPIO_MODE_OUT_PP); //P00设置为推挽输出模式
/**
* @说明 对一组端口中的一个或多个IO设置模式
* @参数 GPIOx : 初始化的端口组(x:0-2)
* GPIOT0 //端口0组
* GPIOT1 //端口1组
* GPIOT2 //端口2组
* @参数 GPIO_PIN : 初始化的端口号
* GPIO_PIN_0 //选择端口0
* GPIO_PIN_1 //选择端口1
* GPIO_PIN_2 //选择端口2
* GPIO_PIN_3 //选择端口3
- 本文系21ic原创,未经许可禁止转载!
网友评论
- 联系人:巧克力娃娃
- 邮箱:board@21ic.com
- 我要投稿
-
欢迎入驻,开放投稿
-
RAK831 Lite:基于树莓派3的LoRa网关... 2022-06-17
-
Imagination推出PowerVR AX2185和AX2145神经... 2022-06-17
-
ODROID-GO是一款兼容Arduino的基于ESP32的便... 2022-06-17
- PID温度控制器
预算:¥700003天前
- 摄像头的可视画面需要一直超上(linux系统,ARM)
预算:¥1000018小时前
- DICOM协议搭建(ARM架构,linux系统)
预算:¥1000017小时前
- 需MIPI摄像头隔离电路,实现3-4米能长距离
预算:¥1000017小时前
- 膨宫仪的控制板,控制流量和检测压力
预算:¥1000016分钟前
- 无创自动测量血压计 NIBP模块
预算:¥100007小时前