program 4 code

Dependencies:   LCD_DISCO_F429ZI mbed BSP_DISCO_F429ZI

Committer:
edwardjiang
Date:
Mon Nov 30 13:57:16 2020 +0000
Revision:
3:c8f1a16767f2
Parent:
2:2cfdd07ab939
Child:
4:60bddeca288c
new

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 1:551c68b9547b 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 0:84dbe22c269c 14
edwardjiang 0:84dbe22c269c 15 }
edwardjiang 0:84dbe22c269c 16
edwardjiang 0:84dbe22c269c 17 void button_released()
edwardjiang 0:84dbe22c269c 18 {
edwardjiang 0:84dbe22c269c 19
edwardjiang 0:84dbe22c269c 20 }
edwardjiang 0:84dbe22c269c 21 int main()
edwardjiang 0:84dbe22c269c 22 {
edwardjiang 0:84dbe22c269c 23 user_button.rise(&button_pressed);
edwardjiang 0:84dbe22c269c 24 user_button.fall(&button_released);
edwardjiang 0:84dbe22c269c 25 uint8_t text[30];
edwardjiang 0:84dbe22c269c 26 led1 = 1;
edwardjiang 0:84dbe22c269c 27
edwardjiang 1:551c68b9547b 28 uint32_t count=getMax();
edwardjiang 3:c8f1a16767f2 29 int16_t freq=GetFreqAt(2);
edwardjiang 0:84dbe22c269c 30 uint32_t totalFreq=0;
edwardjiang 0:84dbe22c269c 31 BSP_LCD_SetFont(&Font20);
edwardjiang 0:84dbe22c269c 32 lcd.DisplayStringAt(0, LINE(1), (uint8_t *)"MBED EXAMPLE", CENTER_MODE);
edwardjiang 0:84dbe22c269c 33 wait(1);
edwardjiang 2:2cfdd07ab939 34
edwardjiang 3:c8f1a16767f2 35 sprintf((char*)text, "freq=%d", freq);
edwardjiang 3:c8f1a16767f2 36 lcd.DisplayStringAt(1, LINE(1), (uint8_t *)&text, LEFT_MODE);
edwardjiang 2:2cfdd07ab939 37
edwardjiang 0:84dbe22c269c 38 while(1)
edwardjiang 0:84dbe22c269c 39 {
edwardjiang 0:84dbe22c269c 40 lcd.Clear(LCD_COLOR_BLUE);
edwardjiang 0:84dbe22c269c 41 lcd.SetBackColor(LCD_COLOR_BLUE);
edwardjiang 0:84dbe22c269c 42 lcd.SetTextColor(LCD_COLOR_WHITE);
edwardjiang 0:84dbe22c269c 43 wait(0.3);
edwardjiang 0:84dbe22c269c 44
edwardjiang 0:84dbe22c269c 45 uint16_t Xpos =100;
edwardjiang 0:84dbe22c269c 46 for(int i=0;i<count;i++){
edwardjiang 0:84dbe22c269c 47 uint32_t word=0;
edwardjiang 0:84dbe22c269c 48 uint32_t wordFreq=0;
edwardjiang 0:84dbe22c269c 49 float freq= wordFreq/totalFreq;
edwardjiang 3:c8f1a16767f2 50 sprintf((char*)text, "freq=%d", freq);
edwardjiang 3:c8f1a16767f2 51 lcd.DisplayStringAt(1, LINE(1), (uint8_t *)&text, LEFT_MODE);
edwardjiang 3:c8f1a16767f2 52 //sprintf((char*)text, "count=%d", count);
edwardjiang 3:c8f1a16767f2 53 //lcd.DisplayStringAt(i, LINE(i), (uint8_t *)&text, LEFT_MODE);
edwardjiang 0:84dbe22c269c 54
edwardjiang 0:84dbe22c269c 55 uint16_t h=i*20;
edwardjiang 0:84dbe22c269c 56 lcd.DrawRect(Xpos, 200, 20, h);
edwardjiang 0:84dbe22c269c 57 Xpos=Xpos+30;
edwardjiang 0:84dbe22c269c 58 }
edwardjiang 0:84dbe22c269c 59 wait(1);
edwardjiang 0:84dbe22c269c 60
edwardjiang 0:84dbe22c269c 61 lcd.Clear(LCD_COLOR_GREEN);
edwardjiang 0:84dbe22c269c 62
edwardjiang 0:84dbe22c269c 63 lcd.SetTextColor(LCD_COLOR_BLUE);
edwardjiang 0:84dbe22c269c 64 lcd.FillRect(10, 20, 50, 50);
edwardjiang 0:84dbe22c269c 65 wait(0.1);
edwardjiang 0:84dbe22c269c 66 lcd.SetTextColor(LCD_COLOR_BROWN);
edwardjiang 0:84dbe22c269c 67 lcd.FillCircle(80, 80, 50);
edwardjiang 0:84dbe22c269c 68 wait(0.1);
edwardjiang 0:84dbe22c269c 69 lcd.SetTextColor(LCD_COLOR_YELLOW);
edwardjiang 0:84dbe22c269c 70 lcd.FillEllipse(150, 150, 50, 100);
edwardjiang 0:84dbe22c269c 71 wait(0.1);
edwardjiang 0:84dbe22c269c 72 lcd.SetTextColor(LCD_COLOR_RED);
edwardjiang 0:84dbe22c269c 73 lcd.FillCircle(200, 200, 40);
edwardjiang 0:84dbe22c269c 74 wait(1);
edwardjiang 0:84dbe22c269c 75
edwardjiang 0:84dbe22c269c 76 lcd.SetBackColor(LCD_COLOR_ORANGE);
edwardjiang 0:84dbe22c269c 77 lcd.SetTextColor(LCD_COLOR_CYAN);
edwardjiang 0:84dbe22c269c 78 BSP_LCD_SetFont(&Font24);
edwardjiang 0:84dbe22c269c 79 lcd.DisplayStringAt(0, LINE(7), (uint8_t *)"HAVE FUN !!!", CENTER_MODE);
edwardjiang 0:84dbe22c269c 80 wait(1);
edwardjiang 0:84dbe22c269c 81
edwardjiang 0:84dbe22c269c 82 led1 = !led1;
edwardjiang 0:84dbe22c269c 83 wait(0.5);
edwardjiang 0:84dbe22c269c 84 }
edwardjiang 0:84dbe22c269c 85 }
edwardjiang 0:84dbe22c269c 86