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

怎么做网站弹出公告如何查网站的备案号

怎么做网站弹出公告,如何查网站的备案号,小广告的胶怎么清理,网站开发服务费算无形资产吗文章目录 esp-rs 简介GithubRust 包仓库Rust 教程Wokwi 电子模拟器开发环境Rust 环境esp-rs 环境创建 ESP32C3 项目项目结构编译项目命令运行模拟器ESP32C3 烧录 esp-rs 简介 esp-rs 是一个专注于为 Espressif 系列芯片#xff08;如 ESP32、ESP32-S2、ESP32-C3 等#xff0… 文章目录 esp-rs 简介GithubRust 包仓库Rust 教程Wokwi 电子模拟器开发环境Rust 环境esp-rs 环境创建 ESP32C3 项目项目结构编译项目命令运行模拟器ESP32C3 烧录 esp-rs 简介 esp-rs 是一个专注于为 Espressif 系列芯片如 ESP32、ESP32-S2、ESP32-C3 等提供 Rust 语言支持的社区和项目。它的目标是为开发者提供一个高效、安全且易于使用的 Rust 开发环境以便在 Espressif 芯片上进行嵌入式系统开发。 构建工具 存储库描述esp-rs/rust带有 Xtensa 支持的 Rust 编译器分支esp-rs/rust-buildRust 编译器 fork 的预构建二进制文件以及安装脚本 硬件抽象层 存储库描述esp-rs/esp-idf-hal支持 Rust 标准库stdesp-rs/esp-hal不支持 Rust 标准库 ( no_std) Github esp-rshttps://github.com/esp-rsesp-hal 非标准库https://github.com/esp-rs/esp-hal本章示例项目源码https://github.com/WuFengSheng/esp-rs-demo Rust 包仓库 https://crates.io/ Rust 教程 https://rustwiki.org/zh-CN/book/https://rustwiki.org/zh-CN/rust-by-example/index.html Wokwi 电子模拟器 https://wokwi.com/projects/410182337086340097 开发环境 Rust 环境 参考我的这篇文章 《使用 Rustup 管理 Rust 版本》 # 安装 nightly 版本 rustup install nightly # 设置默认 Rust 版本 rustup default nightly # 当前 Rust 版本 rustc --versionesp-rs 环境 espup安装 用于安装和维护使用 Rust 为 Espressif SoC 开发应用程序所需的工具链的工具。https://github.com/esp-rs/rust-build cargo install espup espup install . $HOME/export-esp.shRISC-V 安装 以下指令专门针对基于 RISC-V 架构的 ESP32-C rustup target add riscv32imc-unknown-none-elfrustup component add rust-src --toolchain nightly # 安装 cargo-generate cargo install cargo-generate cargo generate -h # 安装 espflash cargo install espflash espflash --help espflash flash --help创建 ESP32C3 项目 cargo generate -a esp-rs/esp-template项目结构 Cargo.toml [dependencies] esp-backtrace { version 0.14.0, features [esp32c3,exception-handler,panic-handler,println, ] } esp-hal { version 0.20.1, features [ esp32c3 ] } esp-println { version 0.11.0, features [esp32c3, log] } log { version 0.4.21 }main.rs #![no_std] #![no_main] #![allow(dead_code)]use esp_backtrace as _; use esp_hal::{clock::ClockControl, delay::Delay, peripherals::{Peripherals, I2C0}, Blocking,prelude::*, system::SystemControl, gpio::{Io, Level, Output},i2c::I2C };const I2C_ADDR: u8 0x27; // LCD1602的I2C地址// LCD 指令 const LCD_CMD_CLEAR: u8 0x01; const LCD_CMD_HOME: u8 0x02; const LCD_CMD_ENTRY_MODE: u8 0x04; const LCD_CMD_DISPLAY_CONTROL: u8 0x08; const LCD_CMD_FUNCTION_SET: u8 0x20; const LCD_CMD_SET_DDRAM_ADDR: u8 0x80;// LCD 控制位 const LCD_BACKLIGHT: u8 0x08; const ENABLE: u8 0x04; const RW_WRITE: u8 0x00; const RS_DATA: u8 0x01; const RS_COMMAND: u8 0x00;#[entry] fn main() - ! {let peripherals Peripherals::take();let system SystemControl::new(peripherals.SYSTEM);let clocks ClockControl::max(system.clock_control).freeze();let delay Delay::new(clocks);esp_println::logger::init_logger_from_env();// Set GPIO0 as an output, and set its state high initially.let io Io::new(peripherals.GPIO, peripherals.IO_MUX);let mut led Output::new(io.pins.gpio0, Level::High);// 初始化 I2Clet mut i2c: I2CI2C0, Blocking I2C::new(peripherals.I2C0, io.pins.gpio6, io.pins.gpio5, 400.kHz(), clocks);log::info!(The type of i2c is: {}, core::any::type_name_of_val(i2c));// 初始化 LCDlcd_init(mut i2c);lcd_write_string(mut i2c, Hello, World!);loop {log::info!(Hello world! \n);led.toggle();delay.delay(500.millis());} }fn lcd_init(i2c: mut I2CI2C0, Blocking) {// 设置 4-bit 模式lcd_command(i2c, 0x33); // 初始化指令lcd_command(i2c, 0x32); // 设置4-bit模式lcd_command(i2c, LCD_CMD_FUNCTION_SET | 0x08); // 2行显示lcd_command(i2c, LCD_CMD_DISPLAY_CONTROL | 0x0F); // 打开显示有光标会闪烁lcd_command(i2c, LCD_CMD_CLEAR); // 清屏lcd_command(i2c, LCD_CMD_ENTRY_MODE | 0x02); // 设置光标移动方向 }fn lcd_command(i2c: mut I2CI2C0, Blocking, command: u8) {lcd_write(i2c, command, RS_COMMAND); }fn lcd_data(i2c: mut I2CI2C0, Blocking, data: u8) {lcd_write(i2c, data, RS_DATA); }fn lcd_write(i2c: mut I2CI2C0, Blocking, data: u8, mode: u8) {let high_nibble data 0xF0;let low_nibble (data 4) 0xF0;lcd_send_nibble(i2c, high_nibble | mode);lcd_send_nibble(i2c, low_nibble | mode); }fn lcd_send_nibble(i2c: mut I2CI2C0, Blocking, nibble: u8) {// 发送高4位let data nibble | LCD_BACKLIGHT;let _ i2c.write(I2C_ADDR, [data | ENABLE]);let _ i2c.write(I2C_ADDR, [data !ENABLE]); }fn lcd_write_string(i2c: mut I2CI2C0, Blocking, s: str) {for c in s.chars() {lcd_data(i2c, c as u8);} }diagram.json {version: 1,editor: wokwi,author: WuFengSheng 469742978qq.com,parts: [{type: board-esp32-c3-devkitm-1,id: esp,top: 0.59,left: 0.67,attrs: {flashSize: 16}},{type: wokwi-led,id: led1,top: -20,left: -50,attrs: {color: red}},{type: wokwi-resistor,id: r1,top: 50,left: -54.5,rotate: 90,attrs: {}},{type: wokwi-lcd1602,id: lcd1,top: 46,left: 132.07,attrs: {pins: i2c}},{type: wokwi-vcc,id: vcc1,top: 20,left: 105,attrs: {}}],connections: [[esp:TX,$serialMonitor:RX,,[]],[esp:RX,$serialMonitor:TX,,[]],[esp:GND.4,led1:C,black,[h0]],[led1:A,r1:1,green,[v0]],[r1:2,esp:0,green,[h0,v38]],[vcc1:VCC,lcd1:VCC,red,[v0]],[lcd1:GND,esp:GND.8,black,[h0]],[lcd1:SDA,esp:6,green,[h0]],[lcd1:SCL,esp:5,green,[h0]]],serialMonitor: {display: terminal,convertEol: true} }编译项目命令 cd esp-rs-demo # 默认 debug cargo build # 或指定 release cargo build --release运行模拟器 注 VSCode 需要安装 wokwi 插件 ESP32C3 烧录 espflash flash --monitor target/riscv32imc-unknown-none-elf/debug/esp-rs-demo
http://www.w-s-a.com/news/458388/

相关文章:

  • 微信企业网站 源码下载wordpress 4.9.5 太卡
  • 湖北网站建设公司哪家好房地产最新政策调整
  • 重庆建设岗位培训网站今天重大新闻乌克兰
  • 流水线 东莞网站建设如何在网上销售产品
  • 哪些做图片赚钱的网站网站建设销售业绩任务
  • 建立网站 知乎如何做网站的图片滑动块
  • 国外做珠宝的网站有哪些滨湖区建设局官方网站
  • 关于中国幼教网站开发的经验中国建设银行晋中分行网站
  • 挪威网站后缀如何外贸网络推广
  • 外汇交易网站开发仟亿家设计软件好吗亿家
  • 专门教做甜品的网站郑州高新区建设环保局网站
  • 建站公司怎么获客网站建设全网营销
  • 黄石做网站的公司html免费网站模板
  • 做个商城网站怎么做便宜优酷视频网站源码
  • 网站侧边栏导航代码泰兴市住房和建设局网站
  • html网站登录界面模板确定建设电子商务网站目的
  • wordpress 多站点迁移三台网站seo
  • 工信部网站备案文件好网站建设公司地址
  • 怎么做app和网站购物网站单页面怎么做的
  • 西宁专业做网站教育网站建设策划书
  • 个人网站域名怎么起网站建设业务好跑吗
  • 网页设计的网网页设计的网站企业网站怎样做优化
  • 论文中小企业的网站建设域名网站空间
  • 宿迁网站建设联系电话现在出入邯郸最新规定
  • 男女做羞羞的事情网站30岁转行做网站编辑
  • 做企业网站的轻量级cmswordpress 越来越慢
  • 无锡中英文网站建设莱芜网络公司
  • ps软件下载官方网站相关搜索优化软件
  • 世界杯网站源码下载做网站推广代理
  • 用股票代码做网站的wordpress通过标签调用文章