上一篇寫了GPIO簡單的流水燈測試,看著有點單調,習慣了串口調試,板子上沒有串口 那就另想辦法吧,看著LCD突然有了個想法,為什么不把調試信息輸出到LCD上,以前在做2416 WINCE開發的時候就經常這樣干非常直觀,那說干就干。
STM32F429I-DISO SDK里已經把開發包做好,那就直接拿過來用吧。
#define MESSAGE1 "STM32F429I-Discoverry" //提示信息
#define MESSAGE1_1 " GPIO TEST "
#define MESSAGE2 " LED3 LED4 "
#define MESSAGE2_1 " ^-^ "
#define MESSAGE5 " LED3 = %d" //LED3狀態 1亮 0滅
#define MESSAGE6 " LED4 = %d" //LED4狀態
#define LINENUM 0x15 //行數
#define FONTSIZE Font12x12 //字體大小
定義完了,那就該具體實現了,慣例先初始化 LCD初始化實現:
static void Display_Init(void)
{
/* Initialize the LCD */
LCD_Init();
LCD_LayerInit();
/* Eable the LTDC */
LTDC_Cmd(ENABLE);
/* Set LCD Background Layer */
LCD_SetLayer(LCD_BACKGROUND_LAYER);
/* Clear the Background Layer */
LCD_Clear(LCD_COLOR_WHITE);
/* Configure the transparency for background */
LCD_SetTransparency(0);
/* Set LCD Foreground Layer */
LCD_SetLayer(LCD_FOREGROUND_LAYER);
/* Configure the transparency for foreground */
LCD_SetTransparency(200);
/* Clear the Foreground Layer */
LCD_Clear(LCD_COLOR_WHITE);
/* Set the LCD Back Color and Text Color*/
LCD_SetBackColor(LCD_COLOR_BLUE);
LCD_SetTextColor(LCD_COLOR_WHITE);
/* Set the LCD Text size */
LCD_SetFont(&FONTSIZE);
/* Set the LCD Back Color and Text Color*/
LCD_SetBackColor(LCD_COLOR_BLUE);
LCD_SetTextColor(LCD_COLOR_WHITE);
LCD_DisplayStringLine(LINE(LINENUM), (uint8_t*)MESSAGE1);
LCD_DisplayStringLine(LINE(LINENUM + 1), (uint8_t*)MESSAGE1_1);
LCD_DisplayStringLine(LINE(0x17), (uint8_t*)" ");
/* Set the LCD Text size */
LCD_SetFont(&Font16x24);
LCD_DisplayStringLine(LCD_LINE_0, (uint8_t*)MESSAGE2);
LCD_DisplayStringLine(LCD_LINE_1, (uint8_t*)MESSAGE2_1);
/* Set the LCD Back Color and Text Color*/
LCD_SetBackColor(LCD_COLOR_WHITE);
LCD_SetTextColor(LCD_COLOR_BLUE);
}
初始化完成了,那就改實現顯示函數了
static void Display(void)
{
uint8_t led3 = 0, led4 = 0;
uint8_t aTextBuffer[50];
led3 = GPIO_ReadOutputDataBit(LED3_GPIO_PORT,LED3_PIN); //讀取LED3對應引腳值
sprintf((char*)aTextBuffer, MESSAGE5, led3);
LCD_DisplayStringLine(LCD_LINE_4, (uint8_t*)aTextBuffer); //把LED3狀態更新到屏幕上
led4 = GPIO_ReadOutputDataBit(LED3_GPIO_PORT,LED4_PIN); //讀取LED4對應引腳值
sprintf((char*)aTextBuffer, MESSAGE6, led4);
LCD_DisplayStringLine(LCD_LINE_6, (uint8_t*)aTextBuffer); //把LED4狀態更新到屏幕上
}
這就是顯示函數,讀取LED對應的值,組成字符串,最后更新到LCD,LCD顯示。
接下來就改主函數了:
int main(void)
{
int i;
Display_Init();
LEDInit();
SysTickInit();
while (1)
{
Delay(500);
GPIO_SetBits(LED4_GPIO_PORT,LED4_PIN);
GPIO_ResetBits(LED3_GPIO_PORT,LED3_PIN);
Display();
Delay(500);
GPIO_SetBits(LED3_GPIO_PORT,LED3_PIN);
GPIO_ResetBits(LED4_GPIO_PORT,LED4_PIN);
Display();
}
}
慣例,主要函數部分實現完了,那就看最終的顯示結果吧.
上一篇:STM32精確延時(非中斷,非ST庫函數)
下一篇:STM32 延時函數高級用法分析
推薦閱讀
史海拾趣
隨著全球水資源日益緊張和水質問題的日益突出,水處理行業迎來了巨大的發展機遇。Autotrol公司憑借其在控制系統方面的獨特優勢和完善的企業管理體系,成功進軍水處理領域。公司開發了一系列高端水處理設備和技術,為全球客戶提供專業的水處理解決方案。同時,Autotrol還不斷推出創新的水處理產品和服務,滿足了客戶對高效、環保、節能的需求。
隨著公司業務的不斷擴大,Dongguan Jingyue Electronics Co Ltd面臨著越來越復雜的供應鏈管理問題。為了降低成本、提高效率,公司決定對供應鏈進行優化。通過引入先進的供應鏈管理軟件和系統,加強與供應商和物流公司的合作,公司成功實現了供應鏈的數字化和智能化管理,提高了整體運營效率。
Boundary Devices公司成立于2003年,總部位于美國亞利桑那州。創立之初,公司便專注于嵌入式系統硬件的開發與生產,憑借對技術的深刻理解和市場需求的敏銳洞察,Boundary Devices迅速在行業中嶄露頭角。其推出的Boundary Devices插座和適配器,因其兼容性強、性能穩定而備受市場青睞。同時,公司與NXP/Freescale建立了緊密的合作關系,共同推進i.MX系列處理器的應用與發展,為公司的后續發展奠定了堅實的基礎。
為了進一步擴大市場份額,Boundary Devices積極實施國際化戰略。公司通過與全球各地的合作伙伴建立合作關系,將產品推向國際市場。同時,公司還積極參加國際電子展會和技術交流活動,與全球同行進行深入的交流與合作,不斷提升公司的國際影響力。
隨著物聯網、智能家居等新興技術的興起,First Switchtech公司(或類似公司)看到了跨界合作的新機遇。公司積極與智能家居廠商、物聯網平臺等合作伙伴開展深度合作,共同研發具有創新性的智能開關產品。這些產品不僅實現了開關的遠程控制、智能聯動等功能,還為用戶提供了更加便捷、舒適的智能生活體驗。通過跨界合作,First Switchtech公司成功拓展了業務領域,并在智能家居市場中占據了重要位置。
隨著產品質量的不斷提升和技術的不斷創新,Ericsson Power Modules開始積極拓展市場。公司不僅在歐洲市場取得了顯著成績,還逐步將業務拓展至亞洲、北美等地區。為了更好地服務全球客戶,Ericsson Power Modules在瑞典斯德哥爾摩設立了總部,并在中國、美國等地建立了生產基地和研發中心。這種全球化布局使得Ericsson Power Modules能夠更快速地響應市場需求,提供更高效、更便捷的服務。
紅暴問題 有些廠家把能不能制造出無紅暴紅外燈當做一個技術問題來宣傳,好像有紅暴就是低技術,無紅暴就是高技術.其實,有無紅暴只是一個選擇問題,并不是技術問題,波長超過700nm的光線叫做紅外線,900nm以上的紅外線基 ...… 查看全部問答∨ |
|
反激式驅動DCM與CCM如何判定 調試的都是反擊式電源;調試的過程中;反激式驅動DCM與CCM如何判定? 是否可以從 分壓電阻或者采樣電阻來斷定? 比如,原先分壓下拉電阻改小,輸出電壓應該偏大的,但是改了之后沒反應, 或者輸出電壓變化很小,是否 ...… 查看全部問答∨ |
void writeb( void ) { FILE *stream; char list[30],lista[30]; int i, numread, numwritten; /* Open file in text mode: */ if( (stream = fopen( "host: ...… 查看全部問答∨ |
假設采樣點數為16,濾波系數個數為17, 故FIR數字濾波后,點數應為16+17-1=32個點, 請問我要計算該波形的有效值,應采用32個點其中的哪些點?具體有何依據?(有公式嗎?) 具體波形可以看附件! … 查看全部問答∨ |
Applet小程序 刷二代身份證照片顯示問題 用單獨啟動Applet刷身份證照片可以顯示 但是把Applet鑲嵌到jsp里,照片有些電腦上可以顯示,但有些電腦不能顯示! 希望大家給點意見,幫我分析下到底是那些可能性使這個出問題了!… 查看全部問答∨ |
給位好,我想問大家一個問題就是wince4.2和5.0差別大嗎?? 我現在想把一個5.0下的dll網卡驅動放到4.2的環境下面使用,不知道這樣能否行得通??? 各位高手大俠請不吝賜教啊!!! 謝謝先… 查看全部問答∨ |
手冊上有HSTART,HSTOP,VSTART,VSTOP等寄存器有網友說: VGA模式是結束減去開始 QVGA模式是結束/2 減去開始/2 0X12地址設置QVGA還是VGA模式!!!有程序這樣配置: {0x32, 0x80},//HREF //QVGA、RGB565模式240*320 {0x17, 0x16},//HSTART&nbs ...… 查看全部問答∨ |
嵌入式中的軟字幕的實現(ARGB1555) freetype的應用 replyreload += \',\' + 1702232; 本帖最后由 37°男人 于 2014-6-26 14:10 編輯 很久沒有寫筆記了,整理一下資料和大家分享一下 (歡迎技術交流 xubbwd@gmail.com) 函數的實現功能為字幕(漢字/字母/數字)轉換為ARGB1555來數據圖像信息 ...… 查看全部問答∨ |
設計資源 培訓 開發板 精華推薦
- 試用Vishay新型“IHLP磁芯損耗計算器”,搶樓贏好禮
- LPC4370重磅來襲 有獎問答贏好禮!
- 電子工程師,如何更好地擁抱GaN?參與問卷有好禮!
- 報名贏京東卡 | 國產FPGA安路科技2024線上新品發布會
- 兆易GD32450I-EVAL免費測評試用
- 追更有驚喜:解救被FSM折磨過的你,justd0解析LSM6DSOX有限狀態機官方例程
- 電路圖站2.0版上線,公開征集網友建議,填寫調查問卷贏積分!
- 全球首款Cortex-M23內核物聯網芯片SAML10和SAM L11系列 闖關獲取SAML10/SAML11法寶,拆除電子界安全危機,贏好禮!
- 邀請好友體驗WEBENCH,禮品豐厚你有他也有!