program 4 code

Dependencies:   LCD_DISCO_F429ZI mbed BSP_DISCO_F429ZI

Committer:
edwardjiang
Date:
Sat Dec 05 18:35:22 2020 +0000
Revision:
4:60bddeca288c
Parent:
3:c8f1a16767f2
Child:
5:c6b7bdcadcd4
new code

Who changed what in which revision?

UserRevisionLine numberNew contents of line
edwardjiang 0:84dbe22c269c 1 #include "mbed.h"
edwardjiang 0:84dbe22c269c 2 #include "LCD_DISCO_F429ZI.h"
edwardjiang 0:84dbe22c269c 3
edwardjiang 0:84dbe22c269c 4 LCD_DISCO_F429ZI lcd;
edwardjiang 0:84dbe22c269c 5 InterruptIn user_button(USER_BUTTON);
edwardjiang 0:84dbe22c269c 6 DigitalOut led1(LED1);
edwardjiang 0:84dbe22c269c 7 extern "C" uint32_t getMax();
edwardjiang 4:60bddeca288c 8 extern "C" uint32_t getTotFreq();
edwardjiang 1:551c68b9547b 9 extern "C" uint8_t * GetWordAt(int32_t i);
edwardjiang 1:551c68b9547b 10 extern "C" int16_t GetFreqAt(int32_t i);
edwardjiang 0:84dbe22c269c 11
edwardjiang 0:84dbe22c269c 12 void button_pressed()
edwardjiang 0:84dbe22c269c 13 {
edwardjiang 4:60bddeca288c 14 lcd.Clear(LCD_COLOR_GREEN);
edwardjiang 4:60bddeca288c 15 lcd.SetBackColor(LCD_COLOR_BROWN);
edwardjiang 4:60bddeca288c 16 lcd.SetTextColor(LCD_COLOR_BLACK);
edwardjiang 0:84dbe22c269c 17
edwardjiang 0:84dbe22c269c 18 }
edwardjiang 0:84dbe22c269c 19
edwardjiang 0:84dbe22c269c 20 void button_released()
edwardjiang 0:84dbe22c269c 21 {
edwardjiang 4:60bddeca288c 22 lcd.Clear(LCD_COLOR_BLUE);
edwardjiang 4:60bddeca288c 23 lcd.SetBackColor(LCD_COLOR_BLUE);
edwardjiang 4:60bddeca288c 24 lcd.SetTextColor(LCD_COLOR_WHITE);
edwardjiang 0:84dbe22c269c 25
edwardjiang 0:84dbe22c269c 26 }
edwardjiang 0:84dbe22c269c 27 int main()
edwardjiang 0:84dbe22c269c 28 {
edwardjiang 0:84dbe22c269c 29 user_button.rise(&button_pressed);
edwardjiang 0:84dbe22c269c 30 user_button.fall(&button_released);
edwardjiang 0:84dbe22c269c 31 uint8_t text[30];
edwardjiang 4:60bddeca288c 32 uint8_t text2[30];
edwardjiang 0:84dbe22c269c 33 led1 = 1;
edwardjiang 0:84dbe22c269c 34
edwardjiang 1:551c68b9547b 35 uint32_t count=getMax();
edwardjiang 4:60bddeca288c 36 //int16_t freq=GetFreqAt(2);
edwardjiang 4:60bddeca288c 37 uint32_t totalFreq=getTotFreq();
edwardjiang 0:84dbe22c269c 38 BSP_LCD_SetFont(&Font20);
edwardjiang 0:84dbe22c269c 39 lcd.DisplayStringAt(0, LINE(1), (uint8_t *)"MBED EXAMPLE", CENTER_MODE);
edwardjiang 0:84dbe22c269c 40 wait(1);
edwardjiang 2:2cfdd07ab939 41
edwardjiang 4:60bddeca288c 42 //sprintf((char*)text, "freq=%d", freq);
edwardjiang 4:60bddeca288c 43 //lcd.DisplayStringAt(1, LINE(1), (uint8_t *)&text, LEFT_MODE);
edwardjiang 2:2cfdd07ab939 44
edwardjiang 0:84dbe22c269c 45 while(1)
edwardjiang 0:84dbe22c269c 46 {
edwardjiang 0:84dbe22c269c 47 lcd.Clear(LCD_COLOR_BLUE);
edwardjiang 0:84dbe22c269c 48 lcd.SetBackColor(LCD_COLOR_BLUE);
edwardjiang 0:84dbe22c269c 49 lcd.SetTextColor(LCD_COLOR_WHITE);
edwardjiang 0:84dbe22c269c 50 wait(0.3);
edwardjiang 0:84dbe22c269c 51
edwardjiang 0:84dbe22c269c 52 uint16_t Xpos =100;
edwardjiang 0:84dbe22c269c 53 for(int i=0;i<count;i++){
edwardjiang 0:84dbe22c269c 54 uint32_t word=0;
edwardjiang 4:60bddeca288c 55 uint16_t wordFreq=GetFreqAt(i);
edwardjiang 0:84dbe22c269c 56 float freq= wordFreq/totalFreq;
edwardjiang 4:60bddeca288c 57 sprintf((char*)text, "count=%d", count);
edwardjiang 4:60bddeca288c 58 lcd.DisplayStringAt(i, LINE(i), (uint8_t *)&text, LEFT_MODE);
edwardjiang 4:60bddeca288c 59 sprintf((char*)text2, "Tfreq=%d", totalFreq);
edwardjiang 4:60bddeca288c 60 lcd.DisplayStringAt(5, LINE(5), (uint8_t *)&text2, LEFT_MODE);
edwardjiang 4:60bddeca288c 61 // sprintf((char*)text, "freq=%d", wordFreq);
edwardjiang 4:60bddeca288c 62 // lcd.DisplayStringAt(i, LINE(i), (uint8_t *)&text, LEFT_MODE);
edwardjiang 0:84dbe22c269c 63
edwardjiang 0:84dbe22c269c 64 uint16_t h=i*20;
edwardjiang 0:84dbe22c269c 65 lcd.DrawRect(Xpos, 200, 20, h);
edwardjiang 0:84dbe22c269c 66 Xpos=Xpos+30;
edwardjiang 0:84dbe22c269c 67 }
edwardjiang 0:84dbe22c269c 68 wait(1);
edwardjiang 0:84dbe22c269c 69
edwardjiang 0:84dbe22c269c 70
edwardjiang 0:84dbe22c269c 71
edwardjiang 0:84dbe22c269c 72 led1 = !led1;
edwardjiang 0:84dbe22c269c 73 wait(0.5);
edwardjiang 0:84dbe22c269c 74 }
edwardjiang 0:84dbe22c269c 75 }
edwardjiang 0:84dbe22c269c 76