program 4 code

Dependencies:   LCD_DISCO_F429ZI mbed BSP_DISCO_F429ZI

main.cpp

Committer:
edwardjiang
Date:
2020-11-30
Revision:
3:c8f1a16767f2
Parent:
2:2cfdd07ab939
Child:
4:60bddeca288c

File content as of revision 3:c8f1a16767f2:

#include "mbed.h"
#include "LCD_DISCO_F429ZI.h"

LCD_DISCO_F429ZI lcd;
InterruptIn user_button(USER_BUTTON);
DigitalOut led1(LED1);
extern "C" uint32_t getMax();
extern "C" uint32_t getTotFreq;
extern "C" uint8_t * GetWordAt(int32_t i); 
extern "C" int16_t GetFreqAt(int32_t i); 

void button_pressed()
{
    
}

void button_released()
{
    
}
int main()
{      
    user_button.rise(&button_pressed);
    user_button.fall(&button_released);
    uint8_t text[30];
    led1 = 1;

    uint32_t count=getMax();
    int16_t freq=GetFreqAt(2);
    uint32_t totalFreq=0;
    BSP_LCD_SetFont(&Font20);
    lcd.DisplayStringAt(0, LINE(1), (uint8_t *)"MBED EXAMPLE", CENTER_MODE);
    wait(1);
    
    sprintf((char*)text, "freq=%d", freq);
    lcd.DisplayStringAt(1, LINE(1), (uint8_t *)&text, LEFT_MODE);
    
    while(1)
    {      
      lcd.Clear(LCD_COLOR_BLUE);
      lcd.SetBackColor(LCD_COLOR_BLUE);
      lcd.SetTextColor(LCD_COLOR_WHITE);
      wait(0.3);

      uint16_t Xpos =100;
      for(int i=0;i<count;i++){
          uint32_t word=0;
          uint32_t wordFreq=0;
          float freq= wordFreq/totalFreq;
          sprintf((char*)text, "freq=%d", freq);
          lcd.DisplayStringAt(1, LINE(1), (uint8_t *)&text, LEFT_MODE);
          //sprintf((char*)text, "count=%d", count);
          //lcd.DisplayStringAt(i, LINE(i), (uint8_t *)&text, LEFT_MODE);
          
          uint16_t h=i*20;
          lcd.DrawRect(Xpos, 200, 20, h);
          Xpos=Xpos+30;
      }
      wait(1);

      lcd.Clear(LCD_COLOR_GREEN);
      
      lcd.SetTextColor(LCD_COLOR_BLUE);
      lcd.FillRect(10, 20, 50, 50);
      wait(0.1);
      lcd.SetTextColor(LCD_COLOR_BROWN);
      lcd.FillCircle(80, 80, 50);
      wait(0.1);
      lcd.SetTextColor(LCD_COLOR_YELLOW);
      lcd.FillEllipse(150, 150, 50, 100);
      wait(0.1);
      lcd.SetTextColor(LCD_COLOR_RED);
      lcd.FillCircle(200, 200, 40);
      wait(1);

      lcd.SetBackColor(LCD_COLOR_ORANGE);
      lcd.SetTextColor(LCD_COLOR_CYAN);
      BSP_LCD_SetFont(&Font24);
      lcd.DisplayStringAt(0, LINE(7), (uint8_t *)"HAVE FUN !!!", CENTER_MODE);
      wait(1);

      led1 = !led1;
      wait(0.5);
    }
}