SWM341单片机运行Rust教程,一切从点灯开始


为什么要在SWM341中运行Rust代码?
Swm341是一款非常优秀的国产单片机芯片,聚焦于显示控制,有着非常多的硬件资源可供使用,开发非常方便。另外Rust目前开始变得流行,执行效率也非常高,因此想在Swm341中尝试使用运行Rust开发。
一切从点灯开始
正如学习语言从打印hello world!开始,单片机的学习当然从点灯开始。在本工程中,将会打印一些日志,并且一秒闪烁一次。代码非常简单,在src/main中添加以下的代码即可。
#![no_std]
#![no_main]
use defmt_rtt as _;
use panic_probe as _;
use swm341_pac as pac;
// 简单的毫秒延时函数
fn delay_ms(ms: u32) {
for _ms in 0..ms {
for _i in 0..20 {
for _j in 0..10 {}
}
}
}
#[cortex_m_rt::entry]
fn main() -> ! {
defmt::info!("swm341 led blinky example start...");
let p = pac::Peripherals::take().unwrap();
let sys_con = p.SYS;
// 开启 gpion的时钟
sys_con.clken0.write(|w| w.gpion().set_bit());
let port = p.PORTN;
// 设置portn.0 为 gpio 映射
port.func0.write(|w| unsafe { w.pin0().bits(0) });
// 设置 portn.0 上拉
port.pullu.write(|w| w.pin0().set_bit());
let gpio = p.GPION;
// 设置 gpion.0 为输出方向
gpio.dir.write(|w| w.pin0().set_bit());
let mut count = 0u32;
loop {
// 翻转 gpion.0
gpio.odr.modify(|r, w| w.pin0().bit(!r.pin0().bit()));
// 打印计数值
defmt::info!("{}", count);
count += 1;
delay_ms(500);
}
}
然后直接执行cargo run --example blinky即可编译和下载并运行,下载非常快,不到1秒。
执行效果如下
可执行文件的大小
由下图可知,
在Release模式下编译,固件大小为(6740+56+1032)/1024=7.64KB
在Debug模式下编译,固件大小为(18228+56+1032)/1024=18.8KB
- |
- +1 赞 0
- 收藏
- 评论 0
本文由ll转载自华芯微特 微信公众号,原文标题为:SWM341单片机运行 Rust,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
华芯微特携电机控制、TFT-LCD控制、白色家电等多款32位MCU明星产品亮相上海慕尼黑电子展
在2024上海慕尼黑电子展展会现场,华芯微特展出电机控制、TFT-LCD控制、白色家电等多款32位MCU明星产品。我们的技术团队将现场演示产品的操作过程,设置了互动体验区,让客户亲身感受华芯微产品带来的卓越性能与便捷操作。
华芯微特举行2024年度代理商交流暨SWM系列芯片新产品发布会
4月25日,华芯微特在线上举办了2024年度代理商交流暨新产品发布会。本次由华芯微特市场部对产品路线及品质保障,屏驱、电机、通用三个细分市场产品进行了详细介绍,以及围绕产品进行的整体生态环境构建。与此同时,新产品发布会对SWM后续的芯片规划进行介绍。本年度上新的SWM系列芯片将会拥有非常丰富的资源,可靠性高、更贴近市场需求。
华芯微特推出MCU SWM34SRET6,应用于86盒智能开关,拥有多钟扩展外设接口
华芯微特推出SWM341系列的SWM34SRET6,本文将介绍SWM34SRET6在86盒智能开关产品中的应用。SWM34SRET6是一款基于ARM Cortex-M33内核,最高主频可达150MHz时钟,提供内置512KB Flash,64KB SRAM。
芯课堂 | FatFs文件系统的移植及应用指南
FatFs是一个适用于小型嵌入式系统的通用FAT/exFAT文件系统模块,支持多种微控制器和存储设备。它具有平台独立性、小体积、多配置选项等特点,并通过diskio.c与硬件交互。使用时需下载源码,移植到目标平台,并通过f_mount()挂载文件系统。配置文件ffconf.h允许用户自定义功能和性能。
【经验】华芯微特SWM341/SWM34S系列MCU环境配置指南
华芯微特MCU的系列之SWM341&SWM34S,内核相同,34S在341基础上内置了SDRAM。341芯片使用M33内核,基于ARM-V8指令集的架构,对应的工具版本有更高的要求。本文中华芯微特将为大家介绍SWM341/SWM34S系列MCU环境配置指南。
华芯微SWM221系列32位微控制器,主频72Mhz,适配多种通讯接口,适合TFTLCD彩屏显示及控制应用
SWM221系列是一款ARM Cortex-M0内核的32位微控制器,主频72Mhz,128KB Flash,8KB Sram配置了单片机基础功能模块,本篇将介绍华芯微SWM221系列芯片在TFTLCD彩屏显示及控制的应用。
华芯微特(Synwit)32位MCU选型表
华芯微特 - ARM CORTEX-M33 MCU,32位微控制器,ARM CORTEX-M0微控制器,ARM CORTEX-M4 MCU,ARM CORTEX-M0 MCU,MCU,SWM19SC9T6-50,SWM241PBT7-80,SWM260PBT7-80,SWM181RCT6-50,SWM211,SWM21DC8U7-50,SWM211G6S7-65,SWM181C9T6-50,SWM241KBT7-80,SWM34SRET6-50,SWM21PG6S7-65,SWM34SVET6-50,SWM341RET7-50,SWM260KBT7-80,SWM320RET7-50,SWM201G6S7-65,SWM181DBU6-40,SWM211C8T7-50,SWM201C6T7-50,SWM341CET7-50,SWM190CBT7-50,SWM201,SWM320VET7-50,SWM320,SWM20PG6S6-65,SWM341,SWM241,SWM260,SWM181,SWM19SCBT7-50,SWM320CET7-50,SWM190,SWM32SRET6-50,SWM190RBT7-50,SWM241CBT7-50,SWM181CBT6-50,SWM20DC6U7-50,SWM21DK6U7-50,SWM341VET7-50,SWM260CBT7-50,SWM34SCET6-50
Synwit_UI_Creator(ugui)平台之MDK工程构建篇
本文由华芯微特给大家介绍面向小尺寸TFT-LCD屏驱市场量身打造的Synwit_UI_Creator(ugui)自研开发套件,以及如何进行MDK工程构建。
华芯微特MCU(ARM Cortex-M4/安谋科技“星辰”STAR-MC1内核)32位微控制器产品列表
华芯微特 - 32位微控制器,ARM CORTEX-M4/安谋科技“星辰”STAR-MC1内核32位微控制器,MCU,SWM19SC9T6-50,SWM241PBT7-80,SWM181RCT6-50,SWM211,SWM211G6S7-65,SWM22PE8S7-63,SWM181C9T6-50,SWM241KBT7-80,SWM34SRET6-50,SWM21PG6S7-65,SWM221CBT7-50,SWM34SVET6-50,SWM341RET7-50,SWM320RET7-50,SWM260KBT7-80,SWM181DBU6-40,SWM211C8T7-50,SWM21PE6S7-63,SWM341CET7-50,SWM190CBT7-50,SWM320,SWM221,SWM166,SWM341,SWM221KBU7-50,SWM241,SWM260,SWM181,SWM320CET7-50,SWM19SCBT7-50,SWM190,SWM32SRET6-50,SWM166D8U6-40,SWM21DD8U7-40,SWM34SMEU6-40,SWM190RBT7-50,SWM221E8S7-63,SWM181CBT6-50,SWM341VET7-50,SWM21DK6U7-50,SWM34SCET6-50,SWM260CBT7-50
华芯微特(Synwit)32位MCU选型指南
公司介绍&产品分类 TFT-LCD 显示和人机界面(HMI)用微控制器 电机专用微控制器 大家电 & 工控通用微控制器 32位微控制器选型表
华芯微特 - 高性能电机芯片,32位MCU,ARM CORTEX-M4 32位微控制器,微控制器,32位微控制器,高性价比电机芯片,ARM CORTEX-M4 MCU,工控通用微控制器,电机专用微控制器,ARM CORTEX-M0 MCU,MCU,ARM CORTEX-M0 32位微控制器,SWM34X,SWM320 SERIES,SWM 201C6T7-50,SWM19SCBT6-50,SWM190 SERIES,SWM 201 系列,SWM32SRET6,SWM181CCT6-50,SWM260KBT7-80,SWM190KBT6-80,SWM201G6S7-65,SWM 201,SWM 201G6S7-65,SWM 19S 系列,SWM201,SWM260 SERIES,SWM320,SWM19S,SWM160,SWM20PG6S6,SWM20D,SWM32SRET6-50,SWM 20PG6S6-65,SWM 190,SWM181CBT6-50,SWM260CBT7-50,SWM260PBT7-80,SWM 260 系列,SWM32S,SWM181 SERIES,SWM181RCT6-50,SWM20P,SWM260CBT7,SWM160C8T7-50,SWM190CBT6-50,SWM20G,SWM 190 系列,SWM 260,SWM 181,SWM201 SERIES,SWM320RET7-50,SWM181DBU6-40,SWM181CBT6,SWM160 SERIES,SWM 341,SWM 341 系列,SWM190 系列,SWM201C6T7-50,SWM 181 系列,SWM320VET7-50,SWM341,SWM190RBT6-50,SWM20PG6S6-65,SWM260,SWM181,SWM320CET7-50,SWM190,电机控制,高压风扇,电动摩托车,按摩椅,TFT-LCD显示,个人护理,空净,冰箱,电动工具,人机界面,工控仪表,工业仪表,洗衣机滚筒,电锯,热水器风机,电动车仪,电动人力车,人机界面(HMI),医疗辅助,电焊机,洗衣机,用户界面,电动自行车,电钻,生活电器,电机,风扇,抽油烟机风机,厨房电器,TFT-LCD 显示,生命检测仪,呼吸机,饮水机,可穿戴设备,血压计,电力仪表,白色家电,TFT-LCD控制,空调,咖啡机,扫地机,工业互联,车辆仪表,测温仪,水泵,吸尘器,仪器仪表,电动车仪表,热水器,智能家居,遥控钥匙,微波炉,车载诊断,防盗器,电机驱动,仪表盘,工业控制,HMI,电饭锅,工控,电动车 HMI,医疗辅助 HMI,吹风机,落地扇,电动车,空气净化器,体征测量,家用电器,智能开关,智能控制,吊扇,冰箱压缩机,车载设备,大家电,家用电器 HMI
华芯微特SWM341系列主控制器LIN接口应用指南
LIN(Local Interconnect Network)是一种基于UART数据格式、主从结构的低成本通信总线,通常用于车门、雨刮器、车灯等对通信速率要求不高的应用场景。本文基于华芯微特SWM341系列主控制器介绍LIN接口应用。
华芯微特MCU 32 位微控制器产品列表
华芯微特 - 32 位微控制器,MCU,SWM19SC9T6-50,SWM241PBT7-80,SWM181RCT6-50,SWM211,SWM211G6S7-65,SWM181C9T6-50,SWM22PE8S7-63,SWM241KBT7-80,SWM221EBS7-63,SWM34SRET6-50,SWM21PG6S7-65,SWM221CBT7-50,SWM34SVET6-50,SWM341RET7-50,SWM260KBT7-80,SWM320RET7-50,SWM181DBU6-40,SWM211C8T7-50,SWM21PE6S7-63,SWM341CET7-50,SWM190CBT7-50,SWM166,SWM221,SWM320,SWM341,SWM241,SWM221KBU7-50,SWM260,SWM181,SWM19SCBT7-50,SWM320CET7-50,SWM190,SWM166D8U6-40,SWM32SRET6-50,SWM21DD8U7-40,SWM34SMEU6-40,SWM190RBT7-50,SWM181CBT6-50,SWM21DK6U7-50,SWM341VET7-50,SWM260CBT7-50,SWM34SCET6-50
Synwit_UI_Creator(ugui)平台之PC端界面设计篇
本文介绍华芯微特面向小尺寸TFT-LCD屏驱市场量身打造的Synwit_UI_Creator(ugui)自研开发套件。UI_Creator(ugui)开发套件分为上位机和下位机。UI_Creator(ugui)目前已适配华芯微特SWM166/SWM19S/SWM341/SWM211四款屏驱芯片系列。
【经验】SWM341 DMA2D模块介绍
DMA2D是专用于图像处理的专业DMA。特别是刷单色屏,刷图片,刷Alpha(透明)混合效果全靠它,而且可以大大降低CPU利用率。主要实现了两个功能,一个是DMA数据传输功能,另一个是2D图形加速功能。
华芯微特SWM341 ISP模式参考
本文介绍华芯微特SWM341MCU ISP模式。
电子商城
现货市场
服务

提供7~27寸工控机定制,支持嵌⼊式/ 壁挂式 /桌⾯式/悬挂式等安装方式,采用纯平⾯板IP65防尘防⽔等级,莫⽒7级硬度触摸屏,兼容多种操作系统:组态软件/安卓/XP/win7/8/10/Linux等,支持主板、接⼝、外观、⽀架、刷卡器、⾝份证阅读器、LOGO、⻨克⻛、系统、电池、蓝⽛、4G/5G、摄像头、GPS系统、⼆维码扫描器、指纹等特殊应⽤场景定制
最小起订量: 1台 提交需求>

可定制导热胶的导热系数1~6W、粘度范围3000~250000cps、固化方式可加热、仅室温、可UV;施胶方式:点胶机、手工、喷胶、转印;支持颜色、硬度、固化时间等参数的个性化定制。
最小起订量: 1支 提交需求>
登录 | 立即注册
提交评论