如何做自己的公司网站两个wordpress使用同一个数据库
2026/2/2 16:02:35 网站建设 项目流程
如何做自己的公司网站,两个wordpress使用同一个数据库,求一个能用的网址,济南市城市建设规划局官方网站这是一份关于本次 Renesas RA6E2 Zephyr 4.3 SSD1306 SPI 屏幕 驱动开发的完整调试经验总结与笔记。 这份笔记记录了从“编译报错”到“黑屏”#xff0c;再到“最终点亮”的全过程#xff0c;包含了关键的排查思路和技术坑点。#x1f4dd; 调试过程与经验总结 1. 项目背…这是一份关于本次Renesas RA6E2 Zephyr 4.3 SSD1306 SPI 屏幕驱动开发的完整调试经验总结与笔记。这份笔记记录了从“编译报错”到“黑屏”再到“最终点亮”的全过程包含了关键的排查思路和技术坑点。 调试过程与经验总结1. 项目背景硬件Renesas FPB-RA6E2 开发板外设0.96 寸 SSD1306 OLED (4-wire SPI)系统Zephyr RTOS v4.3.0目标使用 Zephyr 的 CFB (Character Framebuffer) 子系统显示文字。2. 遇到的核心坑点 (The Pitfalls)2.1 Kconfig 配置依赖陷阱现象编译报错undefined symbol CFB_FONT_MONO8即使在prj.conf中写了y。原因依赖链断裂CFB 依赖于DISPLAY。如果设备树配置错误导致 SSD1306 驱动未加载DISPLAY宏会自动关闭进而导致 CFB 关闭此时所有字体宏都变得不可见。版本变更Zephyr 4.3 改变了字体配置逻辑。不再需要手动指定具体字体宏如CFB_FONT_MONO8只要开启CONFIG_CHARACTER_FRAMEBUFFER系统默认启用CONFIG_CHARACTER_FRAMEBUFFER_USE_DEFAULT_FONTS。教训遇到undefined symbol时先检查其父依赖 (Parent Dependency)是否开启。2.2 严重的引脚冲突 (SPI MISO vs GPIO)现象程序运行正常CS/RES/DC 都有电平跳变但 MOSI 无信号屏幕黑屏。原因原计划使用P109作为D/C (GPIO)。但使用了默认的spi0_defaultpinctrl 配置该配置包含 4 个引脚 (MISO, MOSI, SCK, SSL)其中P109 被定义为 MISO。冲突SPI 硬件外设接管了 P109导致 GPIO 驱动无法控制它进行数据/命令切换。解决在 Overlay 中重写pinctrl剔除 MISO 和 SSL只保留 SCK 和 MOSI。交换引脚功能P109 改为 SPI MOSIP110 改为 GPIO D/C避开 JTAG/MISO 干扰。2.3 DeviceTree 语法细节现象报错parse error: malformed value。原因psels列表中的元素之间缺少逗号。教训DTS 数组/列表必须用逗号分隔例如psels ..., ...;。3. 调试方法论 (Debugging Steps)在本次调试中我们采用了“分层剥离”的排查策略第一阶段解决编译 (Build)先注释掉报错的字体配置只保留最基础的CONFIG_SPI和CONFIG_DISPLAY。使用rm -rf build彻底清除缓存解决 Kconfig 脏数据问题的神器。查看.config文件确认CONFIG_SSD1306y存在确保设备树已被识别。第二阶段裸机验证 (Hardware Verify)编写不依赖 Display/CFB 子系统的main.c直接调用spi_write和gpio_pin_set。尝试发送0xA5(全屏点亮指令)。关键发现通过逻辑分析仪/示波器发现 MOSI 无信号或者 D/C 引脚无法拉低从而定位到引脚冲突。第三阶段修复与集成 (Integration)修改 Overlay使用spi0_new_custom剔除冲突引脚。恢复 CFB 配置使用 Zephyr 标准 API 绘图。4. 最终正确配置快照 硬件接线屏幕引脚开发板引脚功能说明控制方式GNDGND地-VCC3.3V电源-D0 (SCL)P111SPI SCKSPI 硬件 (Func 5)D1 (SDA)P109SPI MOSISPI 硬件 (Func 5)RESP208ResetGPIO 软件DCP110Data/CmdGPIO 软件CSP301Chip SelectGPIO 软件 boards/r7fa6e2bb.overlay (核心)#include zephyr/dt-bindings/gpio/gpio.h #include zephyr/dt-bindings/pinctrl/renesas/pinctrl-ra.h / { chosen { zephyr,display ssd1306_spi; }; }; /* 必须显式开启 GPIO 端口 */ ioport1 { status okay; }; ioport2 { status okay; }; ioport3 { status okay; }; /* 关键修复自定义 SPI 引脚只包含 MOSI 和 SCK剔除 MISO/SSL */ pinctrl { spi0_new_custom: spi0_new_custom { group1 { /* P109MOSI, P111SCK, Func5 */ psels RA_PSEL(RA_PSEL_SPI, 1, 9), RA_PSEL(RA_PSEL_SPI, 1, 11); drive-strength high; }; }; }; spi0 { status okay; pinctrl-0 spi0_new_custom; /* 使用自定义配置 */ pinctrl-names default; cs-gpios ioport3 1 GPIO_ACTIVE_LOW; /* CS: P301 */ ssd1306_spi: ssd13060 { compatible solomon,ssd1306fb; reg 0; spi-max-frequency 4000000; /* 4MHz */ width 128; height 64; segment-offset 0; page-offset 0; display-offset 0; multiplex-ratio 63; segment-remap; com-invdir; prechargep 0x22; > prj.conf (Zephyr 4.3 适配)CONFIG_STDOUT_CONSOLEy CONFIG_LOGy CONFIG_HEAP_MEM_POOL_SIZE4096 # CFB 必须 CONFIG_GPIOy CONFIG_SPIy CONFIG_DISPLAYy CONFIG_SSD1306y CONFIG_SSD1306_DEFAULT_CONTRAST128 CONFIG_CHARACTER_FRAMEBUFFERy # Zephyr 4.3 无需再定义 CONFIG_CFB_FONT_MONO8y 经验总结一句话“在嵌入式开发中如果软件逻辑没问题但硬件不动作永远优先检查引脚复用Pin Mux/Pinctrl是否发生了隐式冲突。”

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询