
program 4 code
Dependencies: LCD_DISCO_F429ZI mbed BSP_DISCO_F429ZI
main.cpp@3:c8f1a16767f2, 2020-11-30 (annotated)
- 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?
User | Revision | Line number | New 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 |