在我上一篇博客里面简述了代码如何下载以及使用。https://blog.csdn.net/weixin_45488643/article/details/109990336如有需要自行查看。
选择LCD图片显示:
首先自己创建一个新的工程文件,添加代码
安装依赖库文件:
比较重要的一点,开启控制:
打开board_config.h 我自己使用的是Maix bit 开发板,所以选择如下配置文件,根据需要选择自己的开发板硬件配置。
void lcd_draw_point(uint16_t x, uint16_t y, uint16_t color)
x,y 起始坐标;color 要绘制点颜色
void lcd_draw_char(uint16_t x, uint16_t y, char c, uint16_t color)
x,y 字符写入起始坐标;color字符颜色;c 需要绘制字符
void lcd_draw_string(uint16_t x, uint16_t y, char *str, uint16_t color)
x,y 字符写入起始坐标;color字符颜色;*str 字符
void lcd_clear(uint16_t color)
color 屏幕颜色
void lcd_draw_rectangle(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t width, uint16_t color)
x1,y1,x2,y2矩形框坐标;width绘制线条宽度;color 绘制线条颜色
void lcd_draw_picture(uint16_t x1, uint16_t y1, uint16_t width, uint16_t height, uint32_t *ptr)
x1,y1起始坐标;width,height图片宽度和高度;*ptr 图片数据指针
#include
#include "board_config.h"
#include "fpioa.h"
#include "image.h"
#include "lcd.h"
#include "nt35310.h"
#include "sysctl.h"
#include "unistd.h"
static void io_set_power(void) {
#if BOARD_LICHEEDAN
sysctl_set_power_mode(SYSCTL_POWER_BANK6, SYSCTL_POWER_V18);
sysctl_set_power_mode(SYSCTL_POWER_BANK7, SYSCTL_POWER_V18);
#else
sysctl_set_power_mode(SYSCTL_POWER_BANK1, SYSCTL_POWER_V18);
#endif
}
static void io_mux_init(void) {
#if BOARD_LICHEEDAN
fpioa_set_function(38, FUNC_GPIOHS0 + DCX_GPIONUM);
fpioa_set_function(36, FUNC_SPI0_SS3);
fpioa_set_function(39, FUNC_SPI0_SCLK);
fpioa_set_function(37, FUNC_GPIOHS0 + RST_GPIONUM);
sysctl_set_spi0_dvp_data(1);
#else
fpioa_set_function(8, FUNC_GPIOHS0 + DCX_GPIONUM);
fpioa_set_function(6, FUNC_SPI0_SS3);
fpioa_set_function(7, FUNC_SPI0_SCLK);
sysctl_set_spi0_dvp_data(1);
#endif
}
int main(void) {
printf("lcd test\n");
io_mux_init();
io_set_power();
lcd_init();
#if BOARD_LICHEEDAN
lcd_set_direction(DIR_YX_RLDU); /* left up 0,0 */
#else
lcd_set_direction(DIR_YX_RLUD); /* left up 0,0 */
#endif
while (1) {
lcd_draw_picture(0, 0, 320, 240, rgb_image);
usleep(1000000);
printf("show pic\n");
}
while (1)
;
}