本文來源電子發燒友社區,作者:jf_53933321, 帖子地址:https://bbs.elecfans.com/jishu_2286219_1_1.html
本文分為兩部分:開發環境搭建和跑通例程
1. 開發環境搭建 首先按照文檔從官網下下來安裝包,裝好之后導入例程,準備開始編譯。
然后就遇到了第一個坑,我本機的開發環境比較復雜,從嵌入式開發到客戶端軟件開發,從后臺服務到前端web都有,什么nodejs,python,vs2012,idea都有,光jdk和eclipse就裝了好幾個版本。導致Haawking IDE裝好之后,例程導入不管怎么編譯都報錯,卸了重裝也不行,報錯如下。后來還是在官方技術人員gengzh的幫助下才發現是本機上裝有mingw,和haawking的編譯環境沖突了。
2. 跑通例程
選了一個數碼管顯示遞增數字的例程HX_DSC28027_IIC_TM1650來跑。
首先介紹下原理,設置定時器1ms中斷,主程序對中斷次數循環計數,360次中斷即360ms通過iic接口向數碼管發送顯示指令,顯示指令包括(千位,百位,十位,個位),還做了按鍵中斷響應,當按下101按鍵時,遞增千位數值,當按下103按鍵時,計數清零,數碼管顯示0000。
原理不復雜,用到了定時器中斷,按鍵中斷和iic通信。詳細程序如下。
復制代碼
燒寫可寫入flash,也可寫入ram。寫入ram計算會更快一些,可以把一些無狀態的函數放到ram中,有狀態函數和存儲數據庫放到flash中。
debug過程中需要講撥碼開關全部撥到左側。在ide中進行debug,通過watch面板觀察斷點時變量值,也可以通過live view觀察變量值的連續變化情況。
最后上一個燒寫成功,正在運行的圖。再次感謝官方技術人員gengzh。
本文分為兩部分:開發環境搭建和跑通例程
1. 開發環境搭建 首先按照文檔從官網下下來安裝包,裝好之后導入例程,準備開始編譯。
然后就遇到了第一個坑,我本機的開發環境比較復雜,從嵌入式開發到客戶端軟件開發,從后臺服務到前端web都有,什么nodejs,python,vs2012,idea都有,光jdk和eclipse就裝了好幾個版本。導致Haawking IDE裝好之后,例程導入不管怎么編譯都報錯,卸了重裝也不行,報錯如下。后來還是在官方技術人員gengzh的幫助下才發現是本機上裝有mingw,和haawking的編譯環境沖突了。


2. 跑通例程
選了一個數碼管顯示遞增數字的例程HX_DSC28027_IIC_TM1650來跑。
首先介紹下原理,設置定時器1ms中斷,主程序對中斷次數循環計數,360次中斷即360ms通過iic接口向數碼管發送顯示指令,顯示指令包括(千位,百位,十位,個位),還做了按鍵中斷響應,當按下101按鍵時,遞增千位數值,當按下103按鍵時,計數清零,數碼管顯示0000。
原理不復雜,用到了定時器中斷,按鍵中斷和iic通信。詳細程序如下。
- int main(void)
- {
- /*初始化系統控制*/
- InitSysCtrl();
- /*初始化LED*/
- InitLED();
- /* 清除所有中斷和初始化PIE向量表*/
- /*禁用CPU中斷*/
- DINT;
- /*初始化PIE控制寄存器到默認狀態,默認狀態是全部PIE中斷被禁用和標志位被清除*/
- InitPieCtrl();
- /*禁用CPU中斷和清除所有CPU中斷標志位*/
- IER = 0x0000;
- IFR = 0x0000;
- /*初始化PIE中斷向量表,為PIE向量表中的所有中斷向量配置對應向量的入口地址*/
- InitPieVectTable();
- /*定時器0初始化*/
- timer0_init();
- /*初始化IIC總線的Gpio*/
- InitI2C_Gpio();
- /*IIC初始化*/
- I2CA_Init();
- /*軟件復位IIC從設備*/
- softResetIIC_BUS();
- //printf("rnTM1650 init...");//標準C的printf輸出測試,串口調試助手設置波特率128000bps,ASCII格式顯示
- /*BIT6到BIT4為亮度調節,BIT0是1 開啟/0關閉*/
- 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;
- /*使能調試事件*/
- while(1)
- {
- /*間隔為360ms*/
- if(CpuTimer0.InterruptCount >= 360)
- {
- /*定時器0中斷次數清零*/
- CpuTimer0.InterruptCount = 0;
- /*D401翻轉*/
- GpioDataRegs.GPATOGGLE.bit.GPIO6 = 1;
- /*Tmp累加,從0-999循環*/
- 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,控制數碼管數字顯示及亮度調節*/
- TM1650_Read(CMD_KEY, &keyVal);
- /*S101按下時,DIG0顯示內容+1*/
- if(keyVal == 0x44)
- {
- keyReg++;
- keyReg &= 0x0f;
- TM1650_Send(DIG0, SEG7Table[keyReg]);
- }
- /*S102按下時,改變數碼管顯示亮度*/
- if(keyVal == 0x4c)//
- {
- /*高四位為亮度調節,最后1位是開啟、關閉顯示*/
- 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翻轉*/
- GpioDataRegs.GPATOGGLE.bit.GPIO7 = 1;
- }
- }
- }
- }
燒寫可寫入flash,也可寫入ram。寫入ram計算會更快一些,可以把一些無狀態的函數放到ram中,有狀態函數和存儲數據庫放到flash中。
debug過程中需要講撥碼開關全部撥到左側。在ide中進行debug,通過watch面板觀察斷點時變量值,也可以通過live view觀察變量值的連續變化情況。
最后上一個燒寫成功,正在運行的圖。再次感謝官方技術人員gengzh。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
中科昊芯
+關注
關注
5文章
82瀏覽量
5463 -
開發板試用
+關注
關注
3文章
301瀏覽量
2330
發布評論請先 登錄
相關推薦
熱點推薦
基于RK處理器,創龍TL3562-MiniEVM開發板試用體驗
數量: 10塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發板免費試用 RISC-V開發板深度評測!頂級開發板免費

性能強悍!合眾HZ-RK3568開發板試用體驗
月19日 ? 評測數量: 10塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發板免費試用 RISC-V開發板深度評測!頂級開發板免費

2025電子發燒友開發板評測大賽開啟!三大賽道火力全開,頂級開發板等你來戰!
開發板免費試用https://bbs.elecfans.com/try_CF5010RBT60.html
【RISC-V專題】中科昊芯Cor
發表于 05-15 15:09
基于RK3576開發板的QT GUI例程
EASYEAI Orin-Nano開發板搭載了帶有xfce桌面環境的Debian系統,支持Qt應用程序的開發和運行。開發板采用RK3576 CPU,性能強大,可直接在

中科昊芯DSP產品及公司信息
庫和驅動庫,幫助用戶降低遷移成本,縮短開發周期。同時,公司還推出了多種開發板和核心板,如Core_DSC28027和Start_DSC280
發表于 04-07 09:16
有獎丨米爾 瑞芯微YR3562開發板免費試用
米爾與瑞芯微合作發布的新品基于瑞芯微RK3562應用處理器的MYD-YR3562開發板免費試用活動來啦~~米爾提供了3塊價值599元的MYD-YR3562

追加名額丨米爾瑞芯微RK3576開發板有獎試用
米爾與瑞芯微合作發布的新品基于瑞芯微RK3576應用處理器的MYD-LR3576開發板免費試用活動加碼啦~~米爾追加了2塊價值849元的MYD-LR3576

有獎丨米爾 瑞芯微RK3576開發板免費試用
米爾與瑞芯微合作發布的新品基于瑞芯微RK3576應用處理器的MYD-LR3576開發板免費試用活動來啦~~米爾提供了7塊價值849元的MYD-LR3576

【RA-Eco-RA0E1-32PIN-V1.0開發板試用】開箱+環境搭建 終于會用HAL框架了,環境搭建玩成了!
【RA-Eco-RA0E1-32PIN-V1.0開發板試用】開箱+環境搭建終于會用HAL框架了,環境搭建
發表于 11-01 13:18
瑞芯微RK3566鴻蒙開發板Ubuntu虛擬機環境搭建教程,觸覺智能Purple Pi OH主板
本文適用于Ubuntu虛擬機環境搭建教程學習,設備為觸覺智能開發的瑞芯微RK3566開發板,型號Purple Pi OH。是Laval官方社

【龍芯2K0300蜂鳥板試用】龍芯2K0300蜂鳥開發板開發環境搭建
的需求,為開發者提供了廣闊的應用空間。
龍芯2K0300蜂鳥開發板的開發環境通過下面的方法來搭建。
開
發表于 09-05 21:16
瑞芯微RK3566鴻蒙開發板Ubuntu虛擬機環境搭建教程,觸覺智能Purple Pi OH主板
本文適用于Ubuntu虛擬機環境搭建教程學習,設備為觸覺智能開發的瑞芯微RK3566開發板,型號Purple Pi OH。是華為Laval官

評論