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。
【经验】华芯微特SWM341/SWM34S系列MCU环境配置指南
华芯微特MCU的系列之SWM341&SWM34S,内核相同,34S在341基础上内置了SDRAM。341芯片使用M33内核,基于ARM-V8指令集的架构,对应的工具版本有更高的要求。本文中华芯微特将为大家介绍SWM341/SWM34S系列MCU环境配置指南。
华芯微特(Synwit)32位MCU选型表
目录- 32位微控制器
型号- 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
华芯微特MCU(ARM Cortex-M4/安谋科技“星辰”STAR-MC1内核)32位微控制器产品列表
型号- 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位微控制器选型表
型号- 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
SWM341 系列 MCU数据手册
型号- SWM341VET6(7)–50,SWM34SV,SWM34SRET6,SWM341RET7,SWM34SVET6,SWM34SR,SWM341R系列,SWM341V系列,SWM34SRET6-50,SWM34SVET6-50,SWM341 系列,SWM341RET7-50,SWM34SCET6,SWM341CET7,SWM341V,SWM341CET7-50,SWM341R,SWM341,SWM34SMEU6-40,SWM34SR系列,SWM34SMEU6,SWM34SV系列,SWM341VET7,SWM341VET7-50,SWM34SCET6-50
华芯微特MCU 32 位微控制器产品列表
型号- 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
【产品】32位微控制器SWM341系列SWM34SRET6-50,助力4.3寸800*480 TFTLCD显示的例程应用
华芯微特推出32位微控制器SWM341系列,简单介绍了和系列之一的SWM34SRET6-50驱动4.3寸800*480 TFTLCD显示的例程应用。
华芯微特SWM341系列主控制器LIN接口应用指南
LIN(Local Interconnect Network)是一种基于UART数据格式、主从结构的低成本通信总线,通常用于车门、雨刮器、车灯等对通信速率要求不高的应用场景。本文基于华芯微特SWM341系列主控制器介绍LIN接口应用。
华芯微特SWM341 ISP模式参考
本文介绍华芯微特SWM341MCU ISP模式。
Synwit_UI_Creator(ugui)平台之PC端界面设计篇
本文介绍华芯微特面向小尺寸TFT-LCD屏驱市场量身打造的Synwit_UI_Creator(ugui)自研开发套件。UI_Creator(ugui)开发套件分为上位机和下位机。UI_Creator(ugui)目前已适配华芯微特SWM166/SWM19S/SWM341/SWM211四款屏驱芯片系列。
芯课堂 | FatFs文件系统的移植及应用指南
FatFs是一个适用于小型嵌入式系统的通用FAT/exFAT文件系统模块,支持多种微控制器和存储设备。它具有平台独立性、小体积、多配置选项等特点,并通过diskio.c与硬件交互。使用时需下载源码,移植到目标平台,并通过f_mount()挂载文件系统。配置文件ffconf.h允许用户自定义功能和性能。
Synwit_UI_Creator(ugui)平台之MDK工程构建篇
本文由华芯微特给大家介绍面向小尺寸TFT-LCD屏驱市场量身打造的Synwit_UI_Creator(ugui)自研开发套件,以及如何进行MDK工程构建。
电子商城
现货市场
服务
提供7~27寸工控机定制,支持嵌⼊式/ 壁挂式 /桌⾯式/悬挂式等安装方式,采用纯平⾯板IP65防尘防⽔等级,莫⽒7级硬度触摸屏,兼容多种操作系统:组态软件/安卓/XP/win7/8/10/Linux等,支持主板、接⼝、外观、⽀架、刷卡器、⾝份证阅读器、LOGO、⻨克⻛、系统、电池、蓝⽛、4G/5G、摄像头、GPS系统、⼆维码扫描器、指纹等特殊应⽤场景定制
最小起订量: 1台 提交需求>
可定制导热胶的导热系数1~6W、粘度范围3000~250000cps、固化方式可加热、仅室温、可UV;施胶方式:点胶机、手工、喷胶、转印;支持颜色、硬度、固化时间等参数的个性化定制。
最小起订量: 1支 提交需求>
登录 | 立即注册
提交评论