(1)序言
(2)实验目的:使用STM32F10C8T6完成流水灯的功能。
(3)本次入门实验遇到的问题:
(4)废话不说,先上电路图:
图1 引脚图
(5)OK,上干货,代码:
C
#include "stm32f10x.h" //GPIO Structure GPIO_InitTypeDef GPIO_InitStructure; //Delay Function void mydelay_ms(int ms) { volatile int i; int k = ms * 2333 ; for ( i=0; i ; } } //LED Init Function void LED_INIT(void) { //Initialize System Timer SystemInit(); //使能PB3和PB4,并关闭PB3和PB4的复用功能,使IO功能生效 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOB , ENABLE); GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE); //GPIO Structure GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4; //Chose Pin3 and Pin4 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //Set Frequency 50MHz GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //暂时不懂,只知道好像是推挽式 //GPIO init GPIO_Init(GPIOB, &GPIO_InitStructure); } int main(void) { LED_INIT(); while (1){ //LED3 ON && LED4 OFF GPIO_SetBits(GPIOB, GPIO_Pin_3); GPIO_ResetBits(GPIOB, GPIO_Pin_4); mydelay_ms(500); //LED3 OFF && LED4 ON GPIO_ResetBits(GPIOB, GPIO_Pin_3); GPIO_SetBits(GPIOB, GPIO_Pin_4); mydelay_ms(500); } }
(6)代码内容分析:
(7)本次试验遇到的问题:
上干货(图):
图2 stm32f103c数据手册,PB口功能
(8)打完收工,继续我的菜鸟成功之旅。希望有经验的大婶要是看见有错误的地方可以给予指正,感谢~~~[捂脸]