首頁 > 評測 > 引腳連錯了?沒關系重映射一下就好了——Holychip HC89F003評測
引腳連錯了?沒關系重映射一下就好了——Holychip HC89F003評測
- [導讀]
- 雖然16位單片機已經(jīng)被超低功耗的32位單片機擠壓的幾乎要消失殆盡,而8位單片機卻一直憑借輕盈小巧和價格低廉的優(yōu)勢占據(jù)市場。目前8位單片機皆根據(jù)各種各種特定應用而推出了不同的增強型,今天給大家評測的來自Holychip(芯圣)的HC89F003則是以引腳的重映射功能著稱。雖然很多MCU均有重映射的功能,不過像HC89F003這樣絕大多數(shù)引腳皆可重映射的并不多見。
* GPIO_PIN_5 //選擇端口5
* GPIO_PIN_6 //選擇端口6
* GPIO_PIN_7 //選擇端口7
* @參數(shù) GPIO_Mode : 初始化模式
* GPIO_MODE_IN //數(shù)字輸入
* GPIO_MODE_IN_PD //帶下拉輸入
* GPIO_MODE_IN_PU //帶上拉輸入
* GPIO_MODE_IN_AN //模擬輸入
* GPIO_MODE_IN_SMT //數(shù)字輸入 SMT
* GPIO_MODE_IN_PD_SMT //帶下拉輸入 SMT
* GPIO_MODE_IN_PU_SMT //帶上拉輸入 SMT
* GPIO_MODE_IN_AN_PU_PD //模擬輸入上下拉同時打開,B版以后芯片支持
* GPIO_MODE_OUT_PP //推挽輸出
* GPIO_MODE_OUT_OD //開漏輸出
* GPIO_MODE_OUT_OD_PU //開漏帶上拉輸出
* @返回值 無
* @注 無
*/
void GPIO_Init(GPIO_TypeDef GPIOx,GPIO_Pin_TypeDef GPIO_PIN,GPIO_Mode_TypeDef GPIO_Mode)
{
u8 i;
u8 xdata *gpioset;
gpioset = 0xFF00 | ((GPIOx - 1)<<3);
for(i=0;i<8;i++){
if((GPIOx == GPIOT1)&&(i>1))break;
if(GPIO_PIN&0x01){
*(gpioset+i/2) = ((*(gpioset+i/2)) & (0xF0 >> ((i%2)*0x04))) | (GPIO_Mode << ((i%2)*0x04));
}
GPIO_PIN >>= 1;
}
}
上面是void GPIO_Init(GPIO_TypeDef GPIOx,GPIO_Pin_TypeDef GPIO_PIN,GPIO_Mode_TypeDef GPIO_Mode)的原函數(shù)。。
有興趣的可以跳進去看一下。不看也可以。
打開HC89F_GPIO.H
拉倒最下面。有g(shù)pio的函數(shù),可以直接調(diào)用。
比如我們需要點亮一個led燈,調(diào)用這個函數(shù)就可以了:
void GPIO_Write(GPIO_TypeDef GPIOx,u8 Value); //對一組端口賦值
看板子的原理圖:
LED1連在HC89F003的P11腳,那我們點亮他就是讓P11腳為低電平就行了。
void main(void)
{
System_init(); //系統(tǒng)初始化
GPIO_Init(GPIOT1,GPIO_PIN_1, GPIO_MODE_OUT_PP); //P00設置為推挽輸出模式
GPIO_Write(GPIOT1,0xFD); //設置P11腳為低電平
while(1);
}
- 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!
網(wǎng)友評論
- 聯(lián)系人:巧克力娃娃
- 郵箱:board@21ic.com
- 我要投稿
-
歡迎入駐,開放投稿
-
人均百萬?英偉達中國員工收入曝光! 2024-08-29
-
《黑神話:悟空》玩家硬盤升級攻略:提升游戲體驗,暢享3A大作 2024-08-29
-
數(shù)睿數(shù)據(jù)參加《系統(tǒng)與軟件工程 低代碼開發(fā)平臺通用技術(shù)要求》國家標準編制 2024-08-29
- NRF52810藍牙數(shù)字耳機找人定制
預算:¥30005天前
- 125KW模塊式PCS軟硬件外包開發(fā)
預算:¥1100000015小時前
- 12V汽車啟動電源項目BMS設計
預算:¥50000023小時前
- 數(shù)據(jù)可視化軟件 開發(fā)
預算:¥5000023小時前
- PLC項目調(diào)試修改
預算:¥100001天前
- 起動電機控制器開發(fā)
預算:¥1100001天前