当前位置: 首页 > news >正文

修改wordpress地址网站打不开成都的网站建设开发公司

修改wordpress地址网站打不开,成都的网站建设开发公司,网站上传文件不大于5M定么做,郴州网站制作公司哪家好本系列教程配套出有视频教程#xff0c;观看地址#xff1a;https://www.bilibili.com/video/BV1gV4y1e7Sg 4. 驱动LCD屏(SPI) 本次实验我们在上一次实验的基础上驱动 LCD屏(SPI)。 上次实验我们已经能驱动触摸屏(I2C)并打印触摸点坐标#xff0c;这次实验我们的目标是点…本系列教程配套出有视频教程观看地址https://www.bilibili.com/video/BV1gV4y1e7Sg 4. 驱动LCD屏(SPI) 本次实验我们在上一次实验的基础上驱动 LCD屏(SPI)。 上次实验我们已经能驱动触摸屏(I2C)并打印触摸点坐标这次实验我们的目标是点亮LCD屏向屏幕依次刷写红绿蓝三种不同的颜色并在串口终端打印当前刷新的颜色文本信息。 4.1 复制工程 上次实验得出的工程我们可以通过复制在原有的基础上得到一个新的工程。 如果你不清楚复制工程的步骤请参考阅读第2章实验的步骤教程。 本次实验我们的项目命名为02_dshanmcu_ra6m5_spi_display 4.2 配置FSP 4.2.1 查看硬件资料 打开位于 03硬件资料\1_开发板原理图\ DshanMCU_RA6M5_V4.0.pdf 的开发板原理图确认SPI引脚电路图如下 可以看到原理图并没有像之前那样直接就能确定使用的是哪一路spi因此需要打开位于 03硬件资料\5_官方资料\RA6M5 Group Users Manual Hardware.pdf 的文档跳转到下图所示的两个位置确定使用的是 spi1 03硬件资料\5_官方资料\RA6M5 Group Users Manual Hardware.pdf 的文档跳转到下图所示的位置确定SPI时钟频率计算公式 打开 e2studio 如下窗口确定当前的 PCLKA 由下图可知 PCLKA 为 200MHz因此可得出支持的SPI最大时钟频率为100/ (2*(01) * 2^0) 100 / 2 50Mbps 打开位于 4_模块资料\01_ST7796显示器芯片手册\ST7796U2_SPEC_V1.0.pdf 的文档跳转到下图所示的位置 通过换算可得出时钟频率 1000000000 / 15 66,666,666.66666667 ≈ 66.5Mhz 接下来我们根据这些信息对 r_spi 进行配置。 4.2.2 添加 Stacks(r_spi_master) 打开 FSP Configuration 视图双击项目文件夹中的 configuration.xml 文件。按照下图所示添加 r_spi 模块 点击刚刚添加的 r_spi 在底部窗口的 Properties 选项卡中对其进行配置将其配置为与下图一致 Name g_spi1Channel 1Callback spi1_callbackBitrate 50000000 配置完成之后如果马上编译会发现编译出错、可以根据错误信息进行解决也可以在编译前参考下图解决 点击刚刚添加的 r_dmac 在底部窗口的 Properties 选项卡中对其进行配置将其配置为与下图一致 Name g_transfer1Channel1 4.2.3 配置RS、RESET、PWM引脚 这三个引脚在上面的原理图中有标注负责的功能分别是 RS引脚(P104)低电平代表发送的是指令高电平代表发送的是数据RESET引脚(P105)控制LCD屏的复位PWM引脚(P608)可以自由调节背光亮度调节给高电平常亮 根据他们负责的功能特性在FSP对其进行配置 按下图所示操作打开配置IO引脚页面 按下图所示操作配置RS引脚(P104) 按下图所示操作配置RESET引脚(P105) 按下图所示操作配置PWM引脚(P608) 最后检查确认无误点击右上角的 “Generate Project Content” e2studio就会根据我们对FSP的配置自动配置项目、生成相应的代码。 4.3 编写LCD驱动代码 在e2studio中进入 02_dshanmcu_ra6m5_spi_display\dshanmcu_ra6m5\drivers 目录新建如下两个文件 drv_spi_display.c 和 drv_spi_display.h 在e2studio中点击打开 02_dshanmcu_ra6m5_spi_display\dshanmcu_ra6m5\drivers\drv_spi_display.c 添加下面的代码 /************************************************************************************************************************ Includes**********************************************************************************************************************/ #include drv_spi_display.h #include stdio.h/*********************************************************************************************************************** Macro definitions**********************************************************************************************************************/ #define LCD_DC_PIN BSP_IO_PORT_01_PIN_04 #define LCD_RESET_PIN BSP_IO_PORT_01_PIN_05 #define LCD_PWM_PIN BSP_IO_PORT_06_PIN_08#define SPI_SEND_DATA BSP_IO_LEVEL_HIGH #define SPI_SEND_CMD BSP_IO_LEVEL_LOW/* ST7796S部分寄存器定义 */ #define LCD_DISPLAY_CMD_RAMCTRL 0xb0 // RAM Control #define LCD_DISPLAY_CMD_CASET 0x2a // Column address set #define LCD_DISPLAY_CMD_RASET 0x2b // Row address set #define LCD_DISPLAY_CMD_RAMWR 0x2c // Memory write/*********************************************************************************************************************** Typedef definitions**********************************************************************************************************************//************************************************************************************************************************ Private function prototypes**********************************************************************************************************************/ static void spi1_wait_for_tx(void); static void spi_display_init(void);static fsp_err_t spi_send_data_cmd(uint8_t * uc_data, bsp_io_level_t uc_cmd, uint32_t len); static fsp_err_t spi_display_backlight_opt(bsp_io_level_t opt); static fsp_err_t spi_display_reset(void);/************************************************************************************************************************ Private global variables**********************************************************************************************************************/ /* Event flags for master */ static volatile spi_event_t g_master_event_flag; // Master Transfer Event completion flag/************************************************************************************************************************ Functions**********************************************************************************************************************/fsp_err_t drv_spi_display_init(void) {fsp_err_t err;/* 初始化I2C驱动 */err g_spi1.p_api-open(g_spi1_ctrl, g_spi1_cfg);if (FSP_SUCCESS ! err){printf (%s %d\r\n, __FUNCTION__, __LINE__);return err;}spi_display_init();return err; }void spi_display_set_window(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2) {uint8_t caset[4];uint8_t raset[4];caset[0] (uint8_t)(x1 8) 0xFF;caset[1] (uint8_t)(x1 0xff);caset[2] (uint8_t)(x2 8) 0xFF;caset[3] (uint8_t)(x2 0xff) ;raset[0] (uint8_t)(y1 8) 0xFF;raset[1] (uint8_t)(y1 0xff);raset[2] (uint8_t)(y2 8) 0xFF;raset[3] (uint8_t)(y2 0xff);spi_send_data_cmd((uint8_t []){LCD_DISPLAY_CMD_CASET}, SPI_SEND_CMD, 1); // Horizspi_send_data_cmd(caset, SPI_SEND_DATA, 4);spi_send_data_cmd((uint8_t []){LCD_DISPLAY_CMD_RASET}, SPI_SEND_CMD, 1); // Vertspi_send_data_cmd(raset, SPI_SEND_DATA, 4);spi_send_data_cmd((uint8_t []){LCD_DISPLAY_CMD_RAMWR}, SPI_SEND_CMD, 1); // Memory write }fsp_err_t drv_spi_display_flush_data(uint8_t * data, uint32_t len) {fsp_err_t err;err spi_send_data_cmd(data, SPI_SEND_DATA, len);if (FSP_SUCCESS ! err){printf (%s %d\r\n, __FUNCTION__, __LINE__);return err;}return err; }void spi1_callback(spi_callback_args_t *p_args) {/* 判断是否是发送完成触发的中断 *//* 如果是的话就将发送完成标志位置1 */if (SPI_EVENT_TRANSFER_COMPLETE p_args-event){g_master_event_flag SPI_EVENT_TRANSFER_COMPLETE;}else{g_master_event_flag SPI_EVENT_TRANSFER_ABORTED;} }/************************************************************************************************************************ Private Functions**********************************************************************************************************************/ static void spi1_wait_for_tx(void) {while(!g_master_event_flag);g_master_event_flag false; }static void spi_display_init(void) {spi_display_reset();spi_display_backlight_opt(BSP_IO_LEVEL_HIGH); // backlight on#if 1spi_send_data_cmd((uint8_t []){0x11}, SPI_SEND_CMD, 1); // Sleep outspi_send_data_cmd((uint8_t []){0x20}, SPI_SEND_CMD, 1); // 关闭显示反转spi_send_data_cmd((uint8_t []){0x36}, SPI_SEND_CMD, 1); // 内存数据访问控制设置spi_send_data_cmd((uint8_t []){0x48}, SPI_SEND_DATA, 1); // 显示方向左-右上-下(不旋转); BGRspi_send_data_cmd((uint8_t []){0x3a}, SPI_SEND_CMD, 1); // 设置像素格式(bpp)spi_send_data_cmd((uint8_t []){0x55}, SPI_SEND_DATA, 1); // RGB接口颜色格式16bit/pixel控制接口的颜色格式16bit/pixelspi_send_data_cmd((uint8_t []){0x13}, SPI_SEND_CMD, 1); // 普通显示模式spi_send_data_cmd((uint8_t []){0x29}, SPI_SEND_CMD, 1); // 开启显示 #elifspi_send_data_cmd((uint8_t []){0x11}, SPI_SEND_CMD, 1);spi_send_data_cmd((uint8_t []){0x00}, SPI_SEND_DATA, 1);R_BSP_SoftwareDelay(120, BSP_DELAY_UNITS_MILLISECONDS); //延时120msspi_send_data_cmd((uint8_t []){0xf0}, SPI_SEND_CMD, 1);spi_send_data_cmd((uint8_t []){0xc3}, SPI_SEND_DATA, 1);spi_send_data_cmd((uint8_t []){0xf0}, SPI_SEND_CMD, 1);spi_send_data_cmd((uint8_t []){0x96}, SPI_SEND_DATA, 1);spi_send_data_cmd((uint8_t []){0x36}, SPI_SEND_CMD, 1);spi_send_data_cmd((uint8_t []){0x48}, SPI_SEND_DATA, 1); // RGBspi_send_data_cmd((uint8_t []){0xb4}, SPI_SEND_CMD, 1);spi_send_data_cmd((uint8_t []){0x01}, SPI_SEND_DATA, 1);spi_send_data_cmd((uint8_t []){0xb7}, SPI_SEND_CMD, 1);spi_send_data_cmd((uint8_t []){0xc6}, SPI_SEND_DATA, 1);spi_send_data_cmd((uint8_t []){0xe8}, SPI_SEND_CMD, 1);spi_send_data_cmd((uint8_t []){0x40, 0x8A, 0x00, 0x00, 0x29, 0x19, 0xA5, 0x33}, SPI_SEND_DATA, 8);spi_send_data_cmd((uint8_t []){0xc1}, SPI_SEND_CMD, 1);spi_send_data_cmd((uint8_t []){0x06}, SPI_SEND_DATA, 1);spi_send_data_cmd((uint8_t []){0xc2}, SPI_SEND_CMD, 1);spi_send_data_cmd((uint8_t []){0xa7}, SPI_SEND_DATA, 1);spi_send_data_cmd((uint8_t []){0xc5}, SPI_SEND_CMD, 1);spi_send_data_cmd((uint8_t []){0x18}, SPI_SEND_DATA, 1);spi_send_data_cmd((uint8_t []){0xe0}, SPI_SEND_CMD, 1);spi_send_data_cmd((uint8_t []){0xF0, 0x09, 0x0B, 0x06, 0x04, 0x15, 0x2F, 0x54, 0x42, 0x3C, 0x17, 0x14, 0x18, 0x1B}, SPI_SEND_DATA, 14);spi_send_data_cmd((uint8_t []){0xe1}, SPI_SEND_CMD, 1);spi_send_data_cmd((uint8_t []){0xF0, 0x09, 0x0B, 0x06, 0x04, 0x03, 0x2D, 0x43, 0x42, 0x3B, 0x16, 0x14, 0x17, 0x1B}, SPI_SEND_DATA, 14);spi_send_data_cmd((uint8_t []){0xf0}, SPI_SEND_CMD, 1);spi_send_data_cmd((uint8_t []){0x3c}, SPI_SEND_DATA, 1);spi_send_data_cmd((uint8_t []){0xf0}, SPI_SEND_CMD, 1);spi_send_data_cmd((uint8_t []){0x69}, SPI_SEND_DATA, 1);spi_send_data_cmd((uint8_t []){0x3a}, SPI_SEND_CMD, 1);spi_send_data_cmd((uint8_t []){0x55}, SPI_SEND_DATA, 1);R_BSP_SoftwareDelay(120, BSP_DELAY_UNITS_MILLISECONDS); //延时120msspi_send_data_cmd((uint8_t []){0x29}, SPI_SEND_CMD, 1);/*rotation*/spi_send_data_cmd((uint8_t []){0x36}, SPI_SEND_CMD, 1);spi_send_data_cmd((uint8_t []){0x48}, SPI_SEND_DATA, 1); // 0 #endif}static fsp_err_t spi_send_data_cmd(uint8_t * uc_data, bsp_io_level_t uc_cmd, uint32_t len) {fsp_err_t err FSP_SUCCESS; // Error status/* Master send data to device */err g_ioport.p_api-pinWrite(g_ioport.p_ctrl, LCD_DC_PIN, uc_cmd);if(FSP_SUCCESS ! err){printf (%s %d\r\n, __FUNCTION__, __LINE__);return err;}err g_spi1.p_api-write(g_spi1.p_ctrl, uc_data, len, SPI_BIT_WIDTH_8_BITS);if(FSP_SUCCESS ! err){printf (%s %d\r\n, __FUNCTION__, __LINE__);return err;}spi1_wait_for_tx();return err; }static fsp_err_t spi_display_backlight_opt(bsp_io_level_t opt) {fsp_err_t err FSP_SUCCESS; // Error statusg_ioport.p_api-pinWrite((ioport_ctrl_t * const )g_ioport.p_ctrl, LCD_PWM_PIN, opt);return err; }static fsp_err_t spi_display_reset(void) {fsp_err_t err FSP_SUCCESS; // Error statusg_ioport.p_api-pinWrite((ioport_ctrl_t * const )g_ioport.p_ctrl, LCD_RESET_PIN, BSP_IO_LEVEL_LOW);R_BSP_SoftwareDelay(120, BSP_DELAY_UNITS_MILLISECONDS); //延时120msg_ioport.p_api-pinWrite((ioport_ctrl_t * const )g_ioport.p_ctrl, LCD_RESET_PIN, BSP_IO_LEVEL_HIGH);R_BSP_SoftwareDelay(120, BSP_DELAY_UNITS_MILLISECONDS); //延时120msreturn err; } 在e2studio中点击打开 02_dshanmcu_ra6m5_spi_display\dshanmcu_ra6m5\drivers\drv_spi_display.h 添加下面的代码 #ifndef DRV_SPI_DISPLAY_H #define DRV_SPI_DISPLAY_H/************************************************************************************************************************ Includes**********************************************************************************************************************/ #include hal_data.h/*********************************************************************************************************************** Macro definitions**********************************************************************************************************************/ #define LCD_SCREEN_WIDTH (320) #define LCD_SCREEN_HEIGHT (480)#define LCD_COLOR_RED (0xF800) #define LCD_COLOR_GREEN (0x07E0) #define LCD_COLOR_BLUE (0x001F)/*********************************************************************************************************************** Typedef definitions**********************************************************************************************************************//************************************************************************************************************************ Exported global variables**********************************************************************************************************************//************************************************************************************************************************ Exported global functions (to be accessed by other files)**********************************************************************************************************************/fsp_err_t drv_spi_display_init(void);void spi_display_set_window(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2);fsp_err_t drv_spi_display_flush_data(uint8_t * data, uint32_t len);#endif /*DRV_SPI_DISPLAY_H*/ 4.4 编写app 在 02_dshanmcu_ra6m5_spi_display\dshanmcu_ra6m5\applications 目录下新建 app_spi_display_test.c 文件如下图所示 打开 app_spi_display_test.c 添加如下代码 /************************************************************************************************************************ Includes**********************************************************************************************************************/ #include app.h #include drv_uart.h #include drv_spi_display.h #include stdio.h/*********************************************************************************************************************** Macro definitions**********************************************************************************************************************//*********************************************************************************************************************** Typedef definitions**********************************************************************************************************************//************************************************************************************************************************ Private function prototypes**********************************************************************************************************************/ static void spi_display_show_color(uint16_t color_le);/************************************************************************************************************************ Private global variables**********************************************************************************************************************//************************************************************************************************************************ Functions**********************************************************************************************************************/ void app_spi_display_test(void) {fsp_err_t err;err drv_uart_init();if(FSP_SUCCESS ! err) __BKPT();err drv_spi_display_init();if(FSP_SUCCESS ! err){printf (%s %d\r\n, __FUNCTION__, __LINE__);__BKPT();}while(1){spi_display_show_color((uint16_t)LCD_COLOR_RED);printf (Full screen display in red\r\n);R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS); //延时500msspi_display_show_color((uint16_t)LCD_COLOR_GREEN);printf (Full screen display in green\r\n);R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS); //延时500msspi_display_show_color((uint16_t)LCD_COLOR_BLUE);printf (Full screen display in blue\r\n);R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS); //延时500ms}}static void spi_display_show_color(uint16_t color_le) {uint8_t color_be[2];color_be [0] (uint8_t)((color_le 0xff00) 8);color_be [1] (uint8_t)(color_le 0xff);spi_display_set_window(0, 0, LCD_SCREEN_WIDTH, LCD_SCREEN_HEIGHT);for(uint16_t x 0; x LCD_SCREEN_WIDTH; x)for(uint16_t y 0; y LCD_SCREEN_HEIGHT; y)drv_spi_display_flush_data(color_be, 2); } /************************************************************************************************************************ Private Functions**********************************************************************************************************************/ 将 app.h 改为如下代码 #ifndef APP_TEST_H #define APP_TEST_H/************************************************************************************************************************ Includes**********************************************************************************************************************/ #include hal_data.h/*********************************************************************************************************************** Macro definitions**********************************************************************************************************************//*********************************************************************************************************************** Typedef definitions**********************************************************************************************************************//************************************************************************************************************************ Exported global variables**********************************************************************************************************************//************************************************************************************************************************ Exported global functions (to be accessed by other files)**********************************************************************************************************************/void app_uart_test(void);void app_i2c_touchpad_test(void);void app_spi_display_test(void);#endif /*APP_TEST_H*/ 4.5 调用app 打开 02_dshanmcu_ra6m5_spi_display\src\hal_entry.c 按照如下步骤进行修改 将 hal_entry 函数修改为如下所示的代码 void hal_entry(void) {/* TODO: add your own code here *///app_uart_test();//app_i2c_touchpad_test();app_spi_display_test();#if BSP_TZ_SECURE_BUILD/* Enter non-secure code */R_BSP_NonSecureEnter(); #endif }4.6 验证效果 点击编译按钮再点击 debug 按钮将程序烧写到开发板中。会看到屏幕依次循环刷红、绿、蓝三种颜色。 【拓展】为什么要交换RGB565颜色数据两个字节的顺序 本节完
http://wiki.neutronadmin.com/news/186004/

相关文章:

  • 北京定制网站开发公司浩森宇特wordpress登陆后台总是跳转首页
  • 网络网站建设广州网店运营基础知识
  • 有什么网站可以做电子版邀请函茂名seo顾问服务
  • 手机购物网站怎么推广移动手机网站开发
  • 会员可见的网站开发公司 网站源码
  • 网站站长需要具备什么素质seo网络推广案例
  • 试看30秒做受小视频网站建一个小型购物网站要有服务器
  • drupal做虚拟发货网站福田庆三双眼皮修复案例
  • 现在都是用什么做网站企业网站页脚
  • 如何查看网站是否被降权网站浏览量怎么查看
  • 微信手机网站案例wordpress页面使用方法
  • 做的网站怎么提交到百度上去天猫设计师服务平台
  • 打名字就说你是什么做的网站做外围网站犯法吗
  • 为自己家秘方做网站网站设计公司如何做好网站建设
  • 网站做单链 好不好wordpressμ
  • 制作网页网站哪个好用北京国都建设集团网站
  • 佛山企业网站建设机构上海公司网站建设公司
  • 做电商网站用什么框架p2p网站建设的步骤过程
  • 网站建设部门管理制度在线做网站午夜伦理
  • 网站整站出售建设一个门户网站需要多少钱
  • 旅游网站策划案wordpress添加赏
  • 网站设计广州量计价格红酒网站设计
  • 建筑设计大专有用吗seo计费系统oem
  • 自助建站免费建站平台有哪些做头像的网站
  • 金融企业网站整站源码wordpress前台登陆验证码
  • 网站文件夹怎么做汕头网站搜索引擎优化
  • 做网站销售怎么开发客户直接在wordpress官网写博客
  • 建设企业网站心得体会wordpress表单留言
  • 修改网站需要什么网页游戏脚本制作教程
  • 网站开发用的电脑彩页设计费多少