dev

Binary file not shown.

@ -2,32 +2,34 @@
:1000100081400141814101428142014381430144C8 :1000100081400141814101428142014381430144C8
:100020008144814601478147970100209381817D6A :100020008144814601478147970100209381817D6A
:10003000F32340F1B70200009382020063F47200E0 :10003000F32340F1B70200009382020063F47200E0
:100040006F006018170100201301C17BB702000088 :100040006F00001A170100201301C17BB7020000E6
:1000500093820240638603001E837D13E31F03FE29 :1000500093820240638603001E837D13E31F03FE29
:1000600033015140330401006F004000411106C6C6 :1000600033015140330401006F004000411106C6C6
:100070000008137101FF732540F197000000E7802D :100070000008137101FF732540F197000000E7802D
:10008000201221C997000000E780401137050020A9 :10008000C01321C997000000E780E0123705002067
:1000900013050500B7050020938505006377B500BB :1000900013050500B7050020938545006377B5007B
:1000A000232005001105E36DB5FE3705002013057B :1000A000232005001105E36DB5FE3705002013057B
:1000B0000500B70500009385851F3706002013064D :1000B0000500B7050000938545213706002013068B
:1000C00006006378C500944114C111059105E36CE5 :1000C00006006378C500944114C111059105E36CE5
:1000D000C5FE97000000E780E00D97000000E78074 :1000D000C5FE97000000E780800F97000000E780D2
:1000E00060080000397106C016C21AC41EC62AC8AC :1000E00060080000397106C016C21AC41EC62AC8AC
:1000F0002ECA32CC36CE3AD03ED233050100EF00C4 :1000F0002ECA32CC36CE3AD03ED233050100EF00C4
:100100000002824092422243B2434245D2456246B7 :100100000002824092422243B2434245D2456246B7
:10011000F2460257925713014102730020300A84BD :10011000F2460257925713014102730020300A84BD
:10012000137101FFF325203463C7050022811703F3 :10012000137101FFF325203463C7050022811703F3
:10013000000067006306139515000581B145637CD7 :10013000000067000308139515000581B145637C35
:10014000B5000A05B70500009385851C2E951C4156 :10014000B5000A05B70500009385451E2E951C4194
:1001500099C3228182872281170300006700E3038D :1001500099C32281828722811703000067008305EB
:1001600037150240C1450CCD3715014093050005F8 :100160003705002085452300B500371502400C4DAA
:100170000CC1894537460F00130606244CC5B286CC :1001700093E505010CCD371501400C4193F5F5F0E1
:1001800099C2FD16FDFE23260500B286E5DAFD16AE :1001800093E505050CC1B7450F009385052450453F
:10019000FDFEEDB701A001A0228182800A841371C7 :100190001366260050C52E8619C27D167DFE504579
:1001A00001FF01C573005010F5BF05452281828013 :1001A000759A50C52E8665D67D167DFECDB701A009
:1001B0000A84137101FF370500001305450E731003 :1001B00001A0228182800A84137101FF01C57300AE
:0801C00055302281828001A06C :1001C0005010F5BF0545228182800A84137101FF1A
:1001C8009601000096010000000000009601000062 :1001D000370500001305450E7310553022818280CB
:1001D8009601000096010000000000009601000052 :0201E00001A07C
:1001E8009601000096010000000000009601000042 :1001E400B0010000B001000000000000B0010000F8
:1001F400B0010000B001000000000000B0010000E8
:10020400B0010000B001000000000000B0010000D7
:00000001FF :00000001FF

@ -3,34 +3,31 @@
use panic_halt as _; use panic_halt as _;
use riscv_rt::entry; use riscv_rt::entry;
// use ch32v003_pac::{Peripherals}; use ch32v003_pac::{gpioc,rcc};
// entry!(main); // entry!(main);
#[entry] #[entry]
fn main() -> ! { fn main() -> ! {
let RCC_APB2PCENR: *mut u32 = 0x4002_1018 as _; let p = unsafe { ch32v003_pac::Peripherals::steal()};
let GPIOC_CFGLR: *mut u32 = 0x4001_1000 as _; // Enable GPIOC bank
let GPIOC_OUTDR: *mut u32 = 0x4001_100C as _; p.RCC.apb2pcenr.modify(|_, w| w.iopcen().set_bit());
// Configure GPIOC pin 1
unsafe { p.GPIOC.cfglr.modify(|_, w| {
RCC_APB2PCENR.write_volatile(0b1_0000); w.cnf1().variant(0b01) // Open-Drain
// Write 0b0001 to pin 1 configuration .mode1().variant(0b01) // Output, 10Mhz
GPIOC_CFGLR.write_volatile(0b0101_0000); });
loop { loop {
// Set pin 1 to high // Turn pin 1 on
GPIOC_OUTDR.write_volatile(0b1_0); p.GPIOC.outdr.modify(|_, w| w.odr1().set_bit());
for _ in 0..1_000_000 { for _ in 0..1_000_000 {
core::hint::black_box(()); // Do nothing, but keep the loop core::hint::black_box(());
} }
// Set pin 1 to low // Turn pin 1 off
GPIOC_OUTDR.write_volatile(0b0_0); p.GPIOC.outdr.modify(|_, w| w.odr1().clear_bit());
for _ in 0..1_000_000 { for _ in 0..1_000_000 {
core::hint::black_box(()); // Do nothing, but keep the loop core::hint::black_box(());
} }
} }
}
} }

Loading…
Cancel
Save