新建完工程后当然是点亮led,,这个可是单片机界hello world。 查看数据手册(感谢谷歌翻译)后得之,stm8会自动采用内部16M晶振,并八分频后作为系统时钟, 1 所以先不用配置时钟,直接关注gpio就行了,在查看gpio相关寄存器之前,先拷贝一份简介5 a- g8 x3 j1 r, \! j7 e 1。 gpio简介6 w, }1 I5 M5 J, N5 g) ? 通用输入/输出端口用于芯片与芯片之间的数据传输外部I / O端口最多可以包含8个引脚。 每个引脚可以单独使用编程为数字输入或数字输出。 另外,一些端口可能有备用功能如模拟输入,外部中断,片上外设的输入/输出。 只要一个备用功能可以一次映射到一个引脚。一个输出数据寄存器,输入数据存器,数据方向寄存器和两个配置寄存器与每个端口相关联。 特定端口将作为输入或输出取决于端口的数据方向寄存器的状态。 & `) J7 h3 e. x& c+ } 通过上面的简介可以使我们简单的了解gpio的功能。整理stm8 gpio相关寄存器,stm8把管脚分为A,B,C,D,E,F,I, G, H,每组最多8个引脚(这个应该和架构有关)每组有下面四个寄存器,每个寄存器8位。* h+ ]' c" P0 M ODR; /*!< Output Data Register 数据输出寄存器,从高到低每位对应每个引脚的输出值 */ IDR; /*!< Input Data Register 数据输入寄存器,从高到低每位对应每个引脚的输出值*/. a$ T2 o0 y- J DDR; /*!< Data Direction Register 数据输入输出寄存器,从高到低每位对应每个引脚的数据输入输出模式(0为输入,1为输出)*/ CR1; /*!< Configuration Register 1 数据输入输出IO配置寄存器1, 可以配置输入的上拉,输出推挽等状态*/& E/ P% i1 H9 L CR2; /*!< Configuration Register 2 数据输入输出IO配置寄存器2,配置输入中断和输出速度 */ + S" I7 L$ d' E. ~% F - ?. L9 u" V! h E& c 2.实例 从原理图上看led0 和l led1阴极分别连接到PC0和PC1上,所以我要把PC0和PC1设置为输出模式,推挽模式,速度不需要太快设置成2m就可以 这是寄存器版的 void main(void) {% O1 r" }, ~, `: ] ) D6 S/ J9 W I: d/ o //init led0 led1. G2 e g% Y- h- J GPIOC->DDR |= 0x03; //配置PC0 PC1为输出模式 ( ^& e7 X2 h# h( S, l: s GPIOC->CR1 |= 0x03; //配置PC0 PC1为推挽模式: B9 c4 R# i' b, l GPIOC->CR2 &= 0xfc; //配置PC0 PC1输出速度2m7 F# ]+ r; R' W4 k1 V( | 9 @* ^1 R5 M, ]1 H( C /* Infinite loop */ while (1) i e7 u e/ e/ ^& a# @. P9 c {' _" P6 Q: j8 M, h3 J* @' s" v+ C GPIOC->ODR |= 0x03; //熄灭 Delay(1600);$ t$ P' Z) g- u& _ GPIOC->ODR &= 0xfc; //点亮 4 R: X# I# O9 W2 m" L' C" _ Delay(1600); } } # p ]# L( Y/ X' Z: {- D( W! j 这个是库函数版的. F' h% B5 H4 K9 J2 X% J+ |7 d1 o8 n void main(void) {# B. n& A+ z* H6 A: R# d# h 0 q8 m/ _0 e' O0 }, [6 P6 {, h [8 R //init led0 led1/ V& `! S8 n R; o GPIO_Init(GPIOC, GPIO_Pin_0 | GPIO_Pin_1, GPIO_Mode_Out_PP_High_Slow); # N) w+ U+ p" S" B3 g+ E! M /* Infinite loop */ while (1) { GPIO_ToggleBits(GPIOC, GPIO_Pin_0 | GPIO_Pin_1);0 G8 j6 n3 u" N" E: Z Delay(1600); & e- i6 H# v3 k: ?% ^5 R+ e } }* V7 L. k& w) J6 J$ y' Q, c # _3 ` L' z9 K) y+ b" e C6 T: H& {) t2 r4 J) H+ A 8 Q3 W2 \4 I- i% y 链接:https://pan.baidu.com/s/1c1UQa3m 密码:y9bk ' a ]/ X5 J. v4 p9 s/ M |
你这写,也太累了。 |
写的不错,加油 |