rust腐蚀出现频闪提示_Rust嵌入式初探(一):跑马灯

作者 @飞洲人飞舟魂转载请注明出处.

实验芯片:stm32f103zet6

实验开发板:正点原子精英板(ALIENTEK ELITE)

参考资料:《The Embedded Rust Book》《 The Rust Programming Language》

实验源代码:如下

#![no_std]

#![no_main]

// pick a panicking behavior

use panic_halt as _; //定义panic为halt

use cortex_m_rt::entry;//cortex-m3内核的程序入口

use stm32f1::stm32f103;//stm32f103系列芯片的总线读写库(Peripheral Access Crate,PAC)

#[entry]

fn main() -> ! {

let peripherals = stm32f103::Peripherals::take().unwrap();

let rcc = peripherals.RCC;

rcc.apb2enr.modify(|_, w| w.iopben().bit(true));//使能PORTB时钟

let gpiob = peripherals.GPIOB;

gpiob.crl.modify(|_, w| w.mode5().bits(0b11));//将GPIOB第5引脚 设为推挽输出

loop {

gpiob.odr.modify(|_, w| w.odr5().bit(false)); //灯亮

my_delay();

gpiob.odr.modify(|_, w| w.odr5().bit(true)); //灯灭

my_delay();

}

}

fn my_delay() {//简陋的延迟函数

let mut count = 2;

while count > 0 {

count = count - 1;

let mut count2 = 120000;

while count2 > 0 {

count2 = count2 - 1;

}

}

}

实验效果:实现了GPIOB口上的小灯闪烁

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值