logo资料库

STM32入门第一例子(适合初学者很详细).doc

第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
资料共20页,剩余部分请下载后查看
YYYtech STM32 第一个例子 建立文件夹:GPIO_TEST 存放整个工程项目 在该项目文件夹下建立子文件夹存放不同类别的文件: Obj:存放工程文件 Out:存放编译输出文件 Sorce:存放源代码文件 打开 KEIL3: 这个时候显示的应该是上次使用过的工程。 新建工程: 把该工程存放在刚刚建立的 Obj 子文件夹下: 1
YYYtech 点击保存后弹出选择器件窗口,选择 STM32F103RB 器件(选择使用器件型号) 点击确定后弹出: 2
YYYtech 这个时候选择“是”,工程建立成功: 工程管理:(这个对于项目的运行没有必要性,只是为了方便项目的管理) 在工程上右键,选择 3
YYYtech 弹出如下工程文件管理窗口: 经过操作,建立如下文件夹有备使用,这个可以根据个人编程习惯处理。 4
YYYtech 新建源文件: 保存: 保存在 Sorce 子文件夹下,注意文件名为 gpio_test.c,一定要有 C 后缀。 把该文件添加到工程: 5
YYYtech 编写代码: //********************************************************************** // 作者:JingYong // 时间:2007/12/14 //*********************************************************************** /*********************************************************************** main 文件,GPIO 操作,完成最简单的 IO 操作实验,就是控制 LED 灯 4 个 LED 分别对应 PC 的 6、7、8、9 引脚。4 个 LED 流水显示 **************************************************************************/ #include "stm32f10x_lib.h" GPIO_InitTypeDef GPIO_InitStructure; void LED_Init(void) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOC, &GPIO_InitStructure); 6
YYYtech } void LED_TurnOn(u8 led) { } void Delay(vu32 nCount) { for(; nCount != 0; nCount--); } main() { //RCC_Configuration(); LED_Init(); while(1) { GPIO_SetBits(GPIOC, GPIO_Pin_9); Delay(0x8ffff); GPIO_ResetBits(GPIOC, GPIO_Pin_9); Delay(0x8ffff); GPIO_SetBits(GPIOC, GPIO_Pin_10); Delay(0x8ffff); GPIO_ResetBits(GPIOC, GPIO_Pin_10); Delay(0x8ffff); GPIO_SetBits(GPIOC, GPIO_Pin_11); Delay(0x8ffff); GPIO_ResetBits(GPIOC, GPIO_Pin_11); Delay(0x8ffff); GPIO_SetBits(GPIOC, GPIO_Pin_12); Delay(0x8ffff); GPIO_ResetBits(GPIOC, GPIO_Pin_12); Delay(0x8ffff); } } 注意:在这里用到了 RCC 和 GPIO 的库函数,所以必须把这两个函数加入工程。 7
YYYtech 8
分享到:
收藏