个人网站建设费用2023年不用做核酸了吗

张小明 2026/1/19 19:16:11
个人网站建设费用,2023年不用做核酸了吗,站长之家域名信息查询,网站建设怎么上传数据Zephyr 开发笔记#xff1a;RA6E2 SPI 屏 (SSD1306) 双路 ADC 1. 硬件接线表 (根据代码分析) 根据你的 app.overlay 配置#xff0c;硬件连接如下。请务必检查物理连线是否一致#xff1a;模块功能 (Pin Name)RA6E2 引脚备注SSD1306D0 (SCK/CLK)P111SPI0 RSPCK (硬件 SPI 时…Zephyr 开发笔记RA6E2 SPI 屏 (SSD1306) 双路 ADC1. 硬件接线表 (根据代码分析)根据你的app.overlay配置硬件连接如下。请务必检查物理连线是否一致模块功能 (Pin Name)RA6E2 引脚备注SSD1306D0 (SCK/CLK)P111SPI0 RSPCK (硬件 SPI 时钟)D1 (MOSI/DIN)P109SPI0 MOSI (硬件 SPI 数据)RES (Reset)P208GPIO 输出DC (Data/Cmd)P110GPIO 输出CS (Chip Sel)P301GPIO 输出VCC3.3VGNDGNDADCAN002P002模拟输入通道 2AN004P004模拟输入通道 4注意你的代码中 D/C 使用的是P110(ioport1 10 ...)而 MOSI 使用的是P109(RA_PSEL(..., 1, 9))。这与常见的 P109/P110 功能互换不同请确保接线严格对应代码。2. 软件配置2.1 项目配置 (prj.conf)这里启用了 SPI 驱动并配置了 CFB 字体。# --- 系统基础 --- CONFIG_STDOUT_CONSOLEy CONFIG_LOGy CONFIG_HEAP_MEM_POOL_SIZE4096 # --- 外设驱动 --- CONFIG_GPIOy CONFIG_SPIy CONFIG_ADCy # --- 显示系统 (SSD1306 SPI) --- CONFIG_DISPLAYy CONFIG_SSD1306y CONFIG_SSD1306_DEFAULT_CONTRAST128 # --- 图形库 (CFB) --- CONFIG_CHARACTER_FRAMEBUFFERy # 保持默认字体设置避免字体宏冲突 CONFIG_CHARACTER_FRAMEBUFFER_USE_DEFAULT_FONTSy # --- 日志级别 --- CONFIG_ADC_LOG_LEVEL_INFy2.2 设备树覆盖 (app.overlay)这是最核心的部分。我们做了两件事ADC 配置添加 P002 和 P004 到 ADC0。SPI 自定义配置这是难点。系统默认的spi0可能包含 P109/P110/P111 全套引脚。我们需要定义一个新的引脚组spi0_new_custom只包含SCK 和 MOSI把其他引脚释放出来给 GPIO 使用。/* * SSD1306 SPI Overlay for Renesas FPB-RA6E2 */ #include zephyr/dt-bindings/gpio/gpio.h #include zephyr/dt-bindings/pinctrl/renesas/pinctrl-ra.h / { chosen { zephyr,display ssd1306_spi; /* 指定使用 SPI 屏作为主显示 */ }; }; /* 强制开启相关 GPIO 端口控制 */ ioport1 { status okay; }; ioport2 { status okay; }; ioport3 { status okay; }; pinctrl { /* * 自定义 SPI0 引脚组 * 仅配置 MOSI (P109) 和 SCK (P111) 给 SPI 控制器 * P110 未在此处出现因此可以被用作普通 GPIO (D/C) */ spi0_new_custom: spi0_new_custom { group1 { psels RA_PSEL(RA_PSEL_SPI, 1, 9), /* MOSI: P109 */ RA_PSEL(RA_PSEL_SPI, 1, 11); /* SCK: P111 */ drive-strength high; /* 增强驱动能力提升 SPI 稳定性 */ }; }; /* ADC 引脚配置 */ adc0_default: adc0_default { group1 { psels RA_PSEL(RA_PSEL_ADC, 0, 2), /* AN002: P002 */ RA_PSEL(RA_PSEL_ADC, 0, 4); /* AN004: P004 */ renesas,analog-enable; }; }; }; spi0 { status okay; /* 应用我们自定义的引脚配置 */ pinctrl-0 spi0_new_custom; pinctrl-names default; /* CS 片选引脚 (P301) - 由 SPI 驱动软件控制 */ cs-gpios ioport3 1 GPIO_ACTIVE_LOW; ssd1306_spi: ssd13060 { compatible solomon,ssd1306fb; reg 0; /* * SPI 频率: 100kHz 用于调试。 * 如果屏幕刷新太慢后续可改为 4000000 (4MHz) 或更高 */ spi-max-frequency 100000; width 128; height 64; segment-offset 0; page-offset 0; display-offset 0; multiplex-ratio 63; segment-remap; com-invdir; prechargep 0x22; /* D/C 引脚: P110 */ >3. 代码实现 (main.c)逻辑与 I2C 版本基本通用因为 Zephyr 屏蔽了底层 SPI/I2C 的差异。只需注意display_dev是通过zephyr,display自动获取的。#includezephyr/kernel.h#includezephyr/device.h#includezephyr/drivers/display.h#includezephyr/display/cfb.h#includezephyr/drivers/adc.h#includestdio.h#includezephyr/logging/log.hLOG_MODULE_REGISTER(main,LOG_LEVEL_INF);/* ADC 定义 */conststructdevice*adc_devDEVICE_DT_GET(DT_NODELABEL(adc0));#defineADC_CH2_ID2#defineADC_CH4_ID4staticint16_tm_sample_buffer;/* ADC 初始化辅助函数 */staticintsetup_adc_channel(intid){structadc_channel_cfgcfg{.gainADC_GAIN_1,.referenceADC_REF_INTERNAL,.acquisition_timeADC_ACQ_TIME_DEFAULT,.channel_idid,};returnadc_channel_setup(adc_dev,cfg);}/* ADC 读取辅助函数 */staticintread_adc_val(intid,int16_t*val){structadc_sequenceseq{.channelsBIT(id),.bufferm_sample_buffer,.buffer_sizesizeof(m_sample_buffer),.resolution12,};intretadc_read(adc_dev,seq);*valm_sample_buffer;returnret;}intmain(void){/* 1. 获取显示设备 (自动根据 chosen 节点找到 ssd1306_spi) */conststructdevice*displayDEVICE_DT_GET(DT_CHOSEN(zephyr_display));if(!device_is_ready(display)){LOG_ERR(Display not ready! Check SPI wiring.);return0;}if(!device_is_ready(adc_dev)){LOG_ERR(ADC not ready!);return0;}/* 2. 初始化显示 */display_blanking_off(display);cfb_framebuffer_init(display);cfb_framebuffer_set_font(display,0);// 使用默认字体/* 3. 初始化 ADC */setup_adc_channel(ADC_CH2_ID);setup_adc_channel(ADC_CH4_ID);LOG_INF(System Started: SPI SSD1306 ADC);charbuf[32];int16_tval2,val4;while(1){/* 读取 ADC */read_adc_val(ADC_CH2_ID,val2);read_adc_val(ADC_CH4_ID,val4);/* 串口打印 */LOG_INF(ADC: CH2%d, CH4%d,val2,val4);/* 屏幕显示 */cfb_framebuffer_clear(display,false);cfb_print(display,RA6E2 Monitor,0,0);snprintf(buf,sizeof(buf),AN002: %d,val2);cfb_print(display,buf,0,16);snprintf(buf,sizeof(buf),AN004: %d,val4);cfb_print(display,buf,0,32);/* 画个动态条 (简单的可视化) */intbar_w(val2*100)/4095;structcfb_positionstart{0,50};structcfb_positionend{bar_w,54};cfb_draw_rect(display,start,end);cfb_framebuffer_finalize(display);k_sleep(K_MSEC(200));}return0;}4. 调试常见问题屏幕全黑没反应检查RES (P208)和D/C (P110)接线。SPI 屏如果不复位或 D/C 状态错误完全不会显示。检查D1 (MOSI)和D0 (SCK)是否接反。尝试调低spi-max-frequency例如 100000 (100kHz)确保不是信号质量问题。ADC 读数不准RA6E2 的模拟地 (AVSS0) 和数字地 (VSS) 必须共地。如果读数跳动大可以在 ADC 通道配置中增加zephyr,acquisition-time。编译报错pinctrl冲突确保你的 overlay 中spi0已经覆写了pinctrl-0为spi0_new_custom否则默认的 pinctrl 配置可能会抢占 P110 引脚导致 GPIO 初始化失败。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

手机网站维护费云南软件开发

终极指南:如何用LAC实现专业级中文分词 【免费下载链接】lac 百度NLP:分词,词性标注,命名实体识别,词重要性 项目地址: https://gitcode.com/gh_mirrors/la/lac 想要快速处理中文文本却苦于找不到好用的分词工具…

张小明 2026/1/17 14:21:06 网站建设

网站分析怎么写十堰响应式网站

还在为不同品牌显卡无法享受最新超分辨率技术而烦恼吗?您的AMD、Intel或NVIDIA显卡现在都能突破硬件限制,实现画质和性能的双重提升。这就是OptiScaler带来的革命性变化——一个真正实现显卡兼容的跨平台超分辨率方案。 【免费下载链接】OptiScaler DLSS…

张小明 2026/1/17 14:46:14 网站建设

网站推广中的评估指标有哪些绵阳企业网站建设

Realtek 8922AE WiFi 7网卡驱动安装完整指南:解决固件版本错误问题 【免费下载链接】rtw89 Driver for Realtek 8852AE, an 802.11ax device 项目地址: https://gitcode.com/gh_mirrors/rt/rtw89 Realtek 8922AE作为支持WiFi 7标准的新一代无线网卡&#xff…

张小明 2026/1/17 16:33:08 网站建设

网站换主推关键词会怎么样沈阳企业建站系统模板

通俗理解卷积神经网络 大家好!今天我们来聊聊卷积神经网络(Convolutional Neural Network,简称CNN)。你可能听说过人工智能、深度学习这些热门词,但CNN到底是什么?它为什么这么强大?别担心&…

张小明 2026/1/17 18:03:49 网站建设

金湖县住房和城乡建设局网站wordpress分辨率

如何在 Odoo 18 库存模块中添加期初库存 高效的库存管理对任何企业都至关重要,因为它直接影响现金流、运营效率和客户满意度。对于采用 Odoo 18 系统或开启新会计期间的企业而言,录入准确的期初库存(Opening Stock) 是库存管理的…

张小明 2026/1/17 20:15:33 网站建设

strikingly建站工具优秀网站共分享

Wan2.2-T2V-5B是否支持长视频拼接?分段生成策略分享 在短视频内容爆炸式增长的今天,从一条朋友圈广告到一节在线课程动画,大家对“一键生成视频”的期待越来越高 🚀。但现实是:大多数文本生成视频(T2V&…

张小明 2026/1/17 20:15:34 网站建设