liukong

  • 2025-04-04
  • 发表了主题帖: 【 嵌入式Rust修炼营】初级任务3:编译与串口烧录

    1.第一步,打开终端拉取做好的开发环境包示例代码 https://github.com/hysonglet/py32f030-hal.git git clone https://github.com/hysonglet/py32f030-hal.git cd py32f030-hal\examples 安装依赖和工具 cargo install cargo-binutils rustup component add llvm-tools   首先编译该程序 cargo build --example embassy_blinky 接着生成二进制bin文件 cargo objcopy --example embassy_blinky -- -O binary embassy_blinky.bin 使用如下指令完成程序烧录 2.DEMO通过USB线   3.通过:pyisp  -p   测试是否有通;其中COM6就是;   4.下载文件: pyisp -s COMOT按钮的同时再按REST按钮,然后先松开REST ,两三秒后再松开BOOT按钮。就显示下载数据了。       5.最后灯开始闪烁了

  • 2025-04-03
  • 发表了主题帖: 【嵌入式Rust修炼营】初级任务2:打印文本文件的每行数据

    完整程序如下所示 ## 主要使用 `?` 操作符,简化错误处理,使用迭代器链式调用,统计文件行数和单词数。 use std::{     fs::File,     io::{self, BufRead}, }; fn main() {     let arg = std::env::args();     let files: Vec<_> = arg.collect();     println!("file count: {}", files.len());     let mut iter= files.iter();     println!("exe name: {}", iter.next().unwrap());     while let Some(file_name) = iter.next() {         println!("file: {}", file_name);         match File::open(file_name) {             Ok(file) => {                 let reader = io::BufReader::new(file);                 for line in reader.lines() {                     if let Ok(line) = line {                         println!("{}", line)                     }                 }             }             Err(e) => {                 println!("{:?}", e)             }         }     } } 接下来分块解析: 首先导入标准库中的文件系统和输入/输出模块 use std::{     fs::File,     io::{self, BufRead}, }; 在主函数中,首先进行命令行参数处理,并将参数收集到字符串向量中 let arg = std::env::args(); let files: Vec<_> = arg.collect(); 接着创建一个迭代器来逐个处理文件 let mut iter = files.iter(); println!("exe name: {}", iter.next().unwrap()); 使用while let模式匹配处理文件 while let Some(file_name) = iter.next() { 尝试打开和读取文件,如果打开成功,则逐行打印,如果打开失败,则打印错误信息 match File::open(file_name) {     Ok(file) => {         let reader = io::BufReader::new(file);         for line in reader.lines() {             if let Ok(line) = line {                 println!("{}", line)             }         }     }     Err(e) => {         println!("{:?}", e)     } } 打印main.rs     打印Cargo.toml

  • 2025-04-02
  • 发表了主题帖: 【嵌入式Rust修炼营】初级任务1:冒泡排序

    1.初始化项目 cargo new my_test1 --bin   然后cargo run,输出Hello,World!   修改文件使用冒泡排序 fn bubble_sort<T: PartialOrd>(arr: &mut [T]) {     let len = arr.len();     for i in 0..len {         for j in 0..len - i - 1 {             if arr[j] > arr[j + 1] {                 arr.swap(j, j + 1);             }         }     } } fn main() {     println!("This is sort of a test!");     let mut test_numers = vec![9,8,4,3,2,1];     println!("Before sorting: {:?}", test_numers);     bubble_sort(&mut test_numers);     println!("After sorting: {:?}", test_numers); }   【总结】熟悉了解基本语法之后,上手冒泡排序挺简单的

  • 2025-03-23
  • 回复了主题帖: 【新年点灯】小小彩灯秀起来!

     

  • 回复了主题帖: 【新年点灯】小小彩灯秀起来!

    本期项目制作一个8*8像素屏,作为一个时钟、氛围灯、桌面小摆件、实时滚动字幕等等,总之非常酷炫 为了令像素灯实现更小尺寸,使用了更小尺寸的WS2812B-2020幻彩灯珠,也增加焊接难度。如不追求尺寸小巧,结构紧凑,也可直接esp8266开发板和8x8全彩像素屏进行硬件搭建。只需要用杜邦线连接以下3处: ESP8266开发板 8x8 WS2812B像素屏 5V VCC(V+) GPIO4(D2) IN GND GND(V-) 软件方面 开发工具 该项目使用Arduino进行开发,需要安装Arduino的ESP8266支持,如未安装,请自行查找相关资料进行安装。 使用Arduino Library 管理工具安装下面五个依赖库:ArduinoJson、FastLED、Time、WebSockets、WiFiManager   程序编译下载 1.下载附件中的程序,用arduino打开文件夹同名的.ino文件; 2.选择开发板为Generic ESP8266 Module,选择相应的端口; 3. 点击下载,若使用本项目硬件,则在编译完成下载时,需要在屏幕显示Connecting...时点按一下RST按键(出现下划线前),方能进行下载。 4. 如果出现无法下载的情况请检查esp8266是否虚焊、漏焊;RST按键无法进入到烧录,请使用镊子短接GND和GPIO4进行烧录;如果出现编译失败的情况请检查依赖库版本如FastLED、WebSockets可以多尝试几个版本 注意原项目外壳尺寸小于开发板尺寸,需要自行修改

  • 回复了主题帖: 【新年点灯】小小彩灯秀起来!

    okhxyyo 发表于 2025-2-19 11:14 好看哎。。分享分享制作过程和资料呀 好的好的,

  • 2025-03-15
  • 回复了主题帖: 嵌入式Rust修炼营入围名单来啦,一起度过嵌入式Rust学习时光的小伙伴集合啦~

    个人信息无误

  • 2025-03-05
  • 回复了主题帖: >>征集 | 晒电机控制痛点与难题,一起寻求最优解!

    在电机控制系统中,抗干扰性是确保系统稳定运行的关键因素,然而目前面临着诸多挑战:   电机自身电磁辐射干扰:电机在运行过程中,由于电磁能量的转换会产生复杂的电磁辐射,而电机本身就是一个强干扰源。以工业流水线为例,多个电机协同工作时,各自产生的电磁辐射相互交织,严重干扰控制信号的传输。这会导致信号发生畸变,进而使得电机转速控制出现失准现象,最终造成生产精度下降。 电源噪声干扰:工业电网存在电压波动以及尖峰脉冲等问题,这些电源噪声会通过电源线路进入电机控制系统,对系统中的芯片和功率器件产生干扰。比如,电机驱动芯片在受到电压波动影响时,可能会出现逻辑误判,功率器件的开关也会出错,甚至可能导致器件损坏。 电机机械振动干扰:在风机、泵类等设备中,电机高速旋转会引发机械振动。这种振动会传递到传感器和控制电路,例如转速传感器会因振动产生噪声,从而误导系统对转速的判断,严重影响控制精度与系统的稳定性。   为提升电机控制系统的抗干扰性,通常可采取以下措施:   - 硬件方面:通过隔离控制电路与干扰源、合理布局元件以及采用屏蔽罩等方式减少干扰。 - 软件方面:设计复杂的滤波算法来处理干扰信号。   但在实际应用中,小型设备由于空间有限,难以实现理想的隔离与屏蔽措施;同时,复杂的算法不仅会增加处理器的负担,还会提高成本。因此,如何在空间和成本的限制下,有效地提高电机控制系统的抗干扰性,成为了目前亟待解决的难题。

  • 2025-02-27
  • 回复了主题帖: 【新年点灯】小小彩灯秀起来!

    秦天qintian0303 发表于 2025-2-22 14:43 这是点阵屏还是TFT彩屏啊?   点阵屏

  • 2025-02-26
  • 回复了主题帖: 嵌入式Rust修炼营:动手写串口烧录工具和MCU例程,Rust达人Hunter直播带你入门Rust

    参与理由与个人编程基础   工作和业余开发中,内存问题频繁困扰我,期望借Rust从根本解决。我长期从事C/C++开发,嵌入式开发经验丰富,多次在eeworld评测任务中出色完成工作 。   修炼任务完成预估   研究修炼任务和活动时间表后,我有信心能完成从初级到高级的所有任务 。   Rust学习经历与活动期望   此前学Rust时,发现它针对C/C++典型内存场景有新范式,像能杜绝C++内存泄漏,但初期上手难。希望借此次活动,深入理解Rust内存新范式,熟练运用到开发中,解决内存难题,提升系统编程能力 。

  • 2025-02-19
  • 发表了主题帖: 【新年点灯】小小彩灯秀起来!

    [localvideo]c6215ce3aca7b6d3433aeb9a05ab0052[/localvideo] [localvideo]bab6eb60573a3fa6265d4b9e8626b104[/localvideo] [localvideo]b5b1ee032251b9ff3b26fe714956e742[/localvideo]  

  • 回复了主题帖: >>征集 | 晒电机控制痛点与难题,一起寻求最优解!

    抗干扰性角度:电机控制系统中,抗干扰性是保障系统稳定的核心,但面临诸多难题。 电机自身是强干扰源,运行时电磁能量转换产生复杂电磁辐射。如工业流水线,多电机协同,辐射交织干扰控制信号传输,导致信号畸变,电机转速控制失准,生产精度下降。 电源噪声影响显著。工业电网电压波动、有尖峰脉冲,经电源线路进入系统,干扰芯片和功率器件。像电机驱动芯片,电压波动会致逻辑误判,功率器件开关出错,甚至损坏。 电机机械振动也有干扰。风机、泵类设备中,电机高速旋转引发振动,传递到传感器和控制电路。如转速传感器因振动产生噪声,误导系统对转速的判断,影响控制精度与稳定性。 提升抗干扰性,硬件上需隔离控制电路与干扰源、合理布局元件、采用屏蔽罩;软件上要设计复杂滤波算法。但小型设备空间有限,难以实现理想隔离与屏蔽,且算法增加处理器负担、提升成本。如何在空间、成本限制下有效提高抗干扰性,是亟待解决的难题 。

最近访客

< 1/1 >

统计信息

已有2人来访过

  • 芯积分:80
  • 好友:--
  • 主题:4
  • 回复:8

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言