本文來源電子發(fā)燒友社區(qū),作者:jf_53933321, 帖子地址:https://bbs.elecfans.com/jishu_2286219_1_1.html
本文分為兩部分:開發(fā)環(huán)境搭建和跑通例程
1. 開發(fā)環(huán)境搭建 首先按照文檔從官網(wǎng)下下來安裝包,裝好之后導(dǎo)入例程,準(zhǔn)備開始編譯。
然后就遇到了第一個坑,我本機(jī)的開發(fā)環(huán)境比較復(fù)雜,從嵌入式開發(fā)到客戶端軟件開發(fā),從后臺服務(wù)到前端web都有,什么nodejs,python,vs2012,idea都有,光jdk和eclipse就裝了好幾個版本。導(dǎo)致Haawking IDE裝好之后,例程導(dǎo)入不管怎么編譯都報錯,卸了重裝也不行,報錯如下。后來還是在官方技術(shù)人員gengzh的幫助下才發(fā)現(xiàn)是本機(jī)上裝有mingw,和haawking的編譯環(huán)境沖突了。
2. 跑通例程
選了一個數(shù)碼管顯示遞增數(shù)字的例程HX_DSC28027_IIC_TM1650來跑。
首先介紹下原理,設(shè)置定時器1ms中斷,主程序?qū)χ袛啻螖?shù)循環(huán)計數(shù),360次中斷即360ms通過iic接口向數(shù)碼管發(fā)送顯示指令,顯示指令包括(千位,百位,十位,個位),還做了按鍵中斷響應(yīng),當(dāng)按下101按鍵時,遞增千位數(shù)值,當(dāng)按下103按鍵時,計數(shù)清零,數(shù)碼管顯示0000。
原理不復(fù)雜,用到了定時器中斷,按鍵中斷和iic通信。詳細(xì)程序如下。
復(fù)制代碼
燒寫可寫入flash,也可寫入ram。寫入ram計算會更快一些,可以把一些無狀態(tài)的函數(shù)放到ram中,有狀態(tài)函數(shù)和存儲數(shù)據(jù)庫放到flash中。
debug過程中需要講撥碼開關(guān)全部撥到左側(cè)。在ide中進(jìn)行debug,通過watch面板觀察斷點(diǎn)時變量值,也可以通過live view觀察變量值的連續(xù)變化情況。
最后上一個燒寫成功,正在運(yùn)行的圖。再次感謝官方技術(shù)人員gengzh。
本文分為兩部分:開發(fā)環(huán)境搭建和跑通例程
1. 開發(fā)環(huán)境搭建 首先按照文檔從官網(wǎng)下下來安裝包,裝好之后導(dǎo)入例程,準(zhǔn)備開始編譯。
然后就遇到了第一個坑,我本機(jī)的開發(fā)環(huán)境比較復(fù)雜,從嵌入式開發(fā)到客戶端軟件開發(fā),從后臺服務(wù)到前端web都有,什么nodejs,python,vs2012,idea都有,光jdk和eclipse就裝了好幾個版本。導(dǎo)致Haawking IDE裝好之后,例程導(dǎo)入不管怎么編譯都報錯,卸了重裝也不行,報錯如下。后來還是在官方技術(shù)人員gengzh的幫助下才發(fā)現(xiàn)是本機(jī)上裝有mingw,和haawking的編譯環(huán)境沖突了。
2. 跑通例程
選了一個數(shù)碼管顯示遞增數(shù)字的例程HX_DSC28027_IIC_TM1650來跑。
首先介紹下原理,設(shè)置定時器1ms中斷,主程序?qū)χ袛啻螖?shù)循環(huán)計數(shù),360次中斷即360ms通過iic接口向數(shù)碼管發(fā)送顯示指令,顯示指令包括(千位,百位,十位,個位),還做了按鍵中斷響應(yīng),當(dāng)按下101按鍵時,遞增千位數(shù)值,當(dāng)按下103按鍵時,計數(shù)清零,數(shù)碼管顯示0000。
原理不復(fù)雜,用到了定時器中斷,按鍵中斷和iic通信。詳細(xì)程序如下。
- int main(void)
- {
- /*初始化系統(tǒng)控制*/
- InitSysCtrl();
- /*初始化LED*/
- InitLED();
- /* 清除所有中斷和初始化PIE向量表*/
- /*禁用CPU中斷*/
- DINT;
- /*初始化PIE控制寄存器到默認(rèn)狀態(tài),默認(rèn)狀態(tài)是全部PIE中斷被禁用和標(biāo)志位被清除*/
- InitPieCtrl();
- /*禁用CPU中斷和清除所有CPU中斷標(biāo)志位*/
- IER = 0x0000;
- IFR = 0x0000;
- /*初始化PIE中斷向量表,為PIE向量表中的所有中斷向量配置對應(yīng)向量的入口地址*/
- InitPieVectTable();
- /*定時器0初始化*/
- timer0_init();
- /*初始化IIC總線的Gpio*/
- InitI2C_Gpio();
- /*IIC初始化*/
- I2CA_Init();
- /*軟件復(fù)位IIC從設(shè)備*/
- softResetIIC_BUS();
- //printf("rnTM1650 init...");//標(biāo)準(zhǔn)C的printf輸出測試,串口調(diào)試助手設(shè)置波特率128000bps,ASCII格式顯示
- /*BIT6到BIT4為亮度調(diào)節(jié),BIT0是1 開啟/0關(guān)閉*/
- LigntVal = 0x11;
- /*1級亮度,開啟顯示*/
- TM1650_Send(CMD_SEG, LigntVal);
- /*DIG0-DIG3均顯示0*/
- TM1650_Send(DIG0, SEG7Table[0]);
- TM1650_Send(DIG1, SEG7Table[0]);
- TM1650_Send(DIG2, SEG7Table[0]);
- TM1650_Send(DIG3, SEG7Table[0]);
- /*使能全局中斷*/
- EINT;
- /*使能調(diào)試事件*/
- while(1)
- {
- /*間隔為360ms*/
- if(CpuTimer0.InterruptCount >= 360)
- {
- /*定時器0中斷次數(shù)清零*/
- CpuTimer0.InterruptCount = 0;
- /*D401翻轉(zhuǎn)*/
- GpioDataRegs.GPATOGGLE.bit.GPIO6 = 1;
- /*Tmp累加,從0-999循環(huán)*/
- Tmp++;
- if(Tmp > 999)
- Tmp = 0;
- /*DIG1顯示Tmp的百位*/
- TM1650_Send(DIG1, SEG7Table[Tmp / 100]);
- /*DIG2顯示Tmp的十位*/
- TM1650_Send(DIG2, SEG7Table[(Tmp / 10) % 10]);
- /*DIG3顯示Tmp的個位*/
- TM1650_Send(DIG3, SEG7Table[Tmp % 10]);
- /*TM1650獲取掃描按鍵S101 S102 S103,控制數(shù)碼管數(shù)字顯示及亮度調(diào)節(jié)*/
- TM1650_Read(CMD_KEY, &keyVal);
- /*S101按下時,DIG0顯示內(nèi)容+1*/
- if(keyVal == 0x44)
- {
- keyReg++;
- keyReg &= 0x0f;
- TM1650_Send(DIG0, SEG7Table[keyReg]);
- }
- /*S102按下時,改變數(shù)碼管顯示亮度*/
- if(keyVal == 0x4c)//
- {
- /*高四位為亮度調(diào)節(jié),最后1位是開啟、關(guān)閉顯示*/
- LigntVal = (LigntVal + 0x20) & 0x7F;
- /*1級亮度,開啟顯示*/
- TM1650_Send(CMD_SEG, LigntVal);
- }
- /*按下S103時*/
- if(keyVal == 0x54)
- {
- Tmp = 0;
- keyReg = 0;
- /*DIG0-DIG3清零*/
- TM1650_Send(DIG0, SEG7Table[0]);
- TM1650_Send(DIG1, SEG7Table[0]);
- TM1650_Send(DIG2, SEG7Table[0]);
- TM1650_Send(DIG3, SEG7Table[0]);
- /*D400翻轉(zhuǎn)*/
- GpioDataRegs.GPATOGGLE.bit.GPIO7 = 1;
- }
- }
- }
- }
燒寫可寫入flash,也可寫入ram。寫入ram計算會更快一些,可以把一些無狀態(tài)的函數(shù)放到ram中,有狀態(tài)函數(shù)和存儲數(shù)據(jù)庫放到flash中。
debug過程中需要講撥碼開關(guān)全部撥到左側(cè)。在ide中進(jìn)行debug,通過watch面板觀察斷點(diǎn)時變量值,也可以通過live view觀察變量值的連續(xù)變化情況。
最后上一個燒寫成功,正在運(yùn)行的圖。再次感謝官方技術(shù)人員gengzh。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
中科昊芯
+關(guān)注
關(guān)注
5文章
80瀏覽量
5190 -
開發(fā)板試用
+關(guān)注
關(guān)注
3文章
301瀏覽量
2121
發(fā)布評論請先 登錄
相關(guān)推薦
有獎丨米爾 全志T536開發(fā)板免費(fèi)試用
米爾與全志合作發(fā)布的新品基于全志T536應(yīng)用處理器的MYD-LT536-GK開發(fā)板免費(fèi)試用活動來啦~~米爾提供了3塊價值750元的MYD-LT536-GK開發(fā)板發(fā)起試用活動您不僅可以免
【敏矽微ME32G070開發(fā)板免費(fèi)體驗(yàn)】開箱及環(huán)境搭建
,出廠設(shè)置驅(qū)動了WS2812 RGB彩燈,顯示很是炫酷。焊接好兩旁的排針好后,閃燈效果見頂部視頻。
三、環(huán)境搭建
使用Keil開發(fā)評測該開發(fā)板,因此首先得安裝該
發(fā)表于 12-17 22:13
追加名額丨米爾瑞芯微RK3576開發(fā)板有獎試用
米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3576應(yīng)用處理器的MYD-LR3576開發(fā)板免費(fèi)試用活動加碼啦~~米爾追加了2塊價值849元的MYD-LR3576
東軟載波ES32VF2264開發(fā)板評測-keil開發(fā)環(huán)境搭建
東軟載波ES32VF2264開發(fā)板-keil開發(fā)環(huán)境搭建安裝Eastsoft.ES32_DFP.1.0.16時遇到如下問題:
該包從東軟官方下載:
不知道如何解決?
這是我的Kei
發(fā)表于 11-21 16:49
有獎丨米爾 瑞芯微RK3576開發(fā)板免費(fèi)試用
米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3576應(yīng)用處理器的MYD-LR3576開發(fā)板免費(fèi)試用活動來啦~~米爾提供了7塊價值849元的MYD-LR3576
【RA-Eco-RA0E1-32PIN-V1.0開發(fā)板試用】開箱+環(huán)境搭建 終于會用HAL框架了,環(huán)境搭建玩成了!
【RA-Eco-RA0E1-32PIN-V1.0開發(fā)板試用】開箱+環(huán)境搭建終于會用HAL框架了,環(huán)境搭建
發(fā)表于 11-01 13:18
【AG32開發(fā)板體驗(yàn)連載】AG32開發(fā)板初體驗(yàn)-項目概述
AG32開發(fā)板初體驗(yàn)-項目概述
說明
非常感謝平臺以及合作方提供的這次試用機(jī)會,一直想找一款MCU+FPGA的芯片方案終于讓我找到了,迫不及待的申請試用有幸被選中。
AG32開發(fā)板基本
發(fā)表于 10-21 23:55
瑞芯微RK3566鴻蒙開發(fā)板Ubuntu虛擬機(jī)環(huán)境搭建教程,觸覺智能Purple Pi OH主板
本文適用于Ubuntu虛擬機(jī)環(huán)境搭建教程學(xué)習(xí),設(shè)備為觸覺智能開發(fā)的瑞芯微RK3566開發(fā)板,型號Purple Pi OH。是Laval官方社
【龍芯2K0300蜂鳥板試用】龍芯2K0300蜂鳥開發(fā)板開發(fā)環(huán)境搭建
的需求,為開發(fā)者提供了廣闊的應(yīng)用空間。
龍芯2K0300蜂鳥開發(fā)板的開發(fā)環(huán)境通過下面的方法來搭建。
開
發(fā)表于 09-05 21:16
瑞芯微RK3566鴻蒙開發(fā)板Ubuntu虛擬機(jī)環(huán)境搭建教程,觸覺智能Purple Pi OH主板
本文適用于Ubuntu虛擬機(jī)環(huán)境搭建教程學(xué)習(xí),設(shè)備為觸覺智能開發(fā)的瑞芯微RK3566開發(fā)板,型號Purple Pi OH。是華為Laval官
迅為RK3568手冊上新 | RK3568開發(fā)板NPU例程測試
《iTOP-3568開發(fā)板NPU例程測試》
教程目錄
第1章 瑞芯微原廠NPU資料介紹
1.1瑞芯微官方github
1.2 rknn-toolkit2介紹
1.3 rknn-too
發(fā)表于 07-12 14:44
點(diǎn)擊參與米爾NXP i.MX 93開發(fā)板有獎試用
米爾與NXP合作發(fā)布的新品基于NXPi.MX93應(yīng)用處理器的MYD-LMX9X開發(fā)板免費(fèi)試用活動來啦~~米爾提供了3塊價值678元的MYD-LMX9X開發(fā)板發(fā)起試用活動您不僅可以免費(fèi)體
鴻蒙OpenHarmony【基于Hi3516DV300開發(fā)板(時鐘應(yīng)用開發(fā))】
如何快速搭建基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)(Hi3516DV300開發(fā)板)的應(yīng)用開發(fā)環(huán)境,并基于一個時鐘APP示例逐步展示應(yīng)用的創(chuàng)建、開發(fā)
評論