当前位置:网站首页>Cubemx transplantation punctual atom LCD display routine

Cubemx transplantation punctual atom LCD display routine

2022-07-06 03:32:00 2020 robot experimental class

  No principle , Transplant only .

         open cubemx, The process of selecting chips is not mentioned .

Choose the clock :

  Download mode :

  A serial port 1, Because there's... On the board ch340, It can be directly sent to the computer through the data line . No, ch340 You can choose to use the board TTL To serial port .

  Click on FSMC Click on the first .

  Choose as follows , You need to see the schematic diagram of the development board .

  take extended mode  Can make

  Open the official routine of punctual atom :

If this error is reported when jumping to the definition .

Click on the magic wand , take output Medium Browse Information Check and compile .

 

  find   LCD_Init

  Compare the parameters in the structure , Get the following settings

  Select the backlight pin to output mode .

  Change the clock to 72M

  Find these three files in the punctual atomic routine , Copy to the following Inc and Src in .

Compile it and we will see many errors  

 

  A lot of mistakes , Let's come one by one .

 

  take include "delay.h" Delete , And then main.h Add the following

typedef uint32_t  u32;
typedef uint16_t u16;
typedef uint8_t  u8;
typedef __IO uint32_t  vu32;
typedef __IO uint16_t vu16;
typedef __IO uint8_t  vu8;

  then lcd.h Medium sys Change to main, take main Add the header file of

  

  Then errors are significantly reduced

 

  There is a microsecond delay , however HAL The library does not have this function , So let's replace it with One millisecond delay , Replace the millisecond delay Ze with HAL The millisecond delay of the library is ok .

HAL_Delay(1);

 

  After the modification is completed

  because LCD_Init Function to use printf, So you need to add a header file  

#include "stdio.h"

 

  take LCD_LED =1 Revise it into the following sentence

HAL_GPIO_WritePin(LCD_BL_GPIO_Port,LCD_BL_Pin,GPIO_PIN_SET);

        take  LCD_Init Function HAL_Delay(50) All the previous codes are deleted .

  take HAL_SRAM_MspInit Function delete

  Add the following header file in the main function .

#include "lcd.h"
#include "stdio.h"

 

  And then usart.c Add serial port redirection at the bottom of .

#include<stdio.h>

#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif
PUTCHAR_PROTOTYPE
{
	HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);
	return ch;
}

Punctual atom main Routine replication in You can see the experimental effect

 

原网站

版权声明
本文为[2020 robot experimental class]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/187/202207060319512628.html