+多次失败后成功烧入,GPIO的控制LED灯的简单使用
时间:10-02
整理:3721RD
点击:
首先向坛友们进行道歉板子拿到手比较长时间了没怎么发帖,前段时间主要是考试原因一直也抽不出时间来,感谢CiCi姐的理解和支持,也感谢另一位试用者哥哥的帮助 、帮忙找各种原因,感谢论坛呢么好的促进学习的平台,越来越多的好东西嘿嘿给试用者试用。几经周折还是没找出来原因,最后我也是急了各种弄都不行,今天又试着从头再开始一遍,结果功夫不负有心人还是让俺成功了虽然可能是很简单但是却困扰了很长时间,自己突破后还是十分高兴滴。本帖就细细的讲解一下基本情况。
一.开发环境
使用的是MDK5,网上都有可以去下载也可以下载正点原子的学习资料里面都有,也有很详细的安装步骤。
二.烧录软件
J-Link,V4.90和V4.15e都可以,不能上传大家需要可以留言,网上也有安装包。重点是J-Link与板子的连线,板子的JTAG/SWD仅有10个pin,我去网上找了接口只需要四根线VCC、SWDIO、SWDCLK、GND,JTAG的1,7,9,20号脚,板子对应的是1,2,4,9号脚。




三.工程的新建
New project 添加几个manage project 我用的USER、CORE等,重点来了我们的板子是STM32F103RBT6
是128Kflash的所以选择固件库的时候一定得注意,我以前的错误可能就是这些原因所致
之前是RCT6不行,CORE中放的是startup_stm32f10x_md
。除了这些project的创建以及文件的添加该做的就是options的修改了,Output中点上Create HEX File,C/C++中的Define 以及Include Paths,debug 都是要修改的地方
。接下来就是写程序了,GPIO口是最基础的东西,却也是最值得研究的嘿嘿,根据板子的原理图
LED1GPIO口为PB13
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //使能PB端口时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; //LED1-->PB.13 端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz
GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化GPIOB.13
GPIO_SetBits(GPIOB,GPIO_Pin_13); //PB.13 输出高
while(1)
{
GPIO_ResetBits(GPIOB,GPIO_Pin_13);
Delay(3000000);
GPIO_SetBits(GPIOB,GPIO_Pin_13);
Delay(3000000);
}
}
看到Verify OK我真是乐坏了嘿嘿奋斗后的成功永远是最幸福的也许我会的不多但我会继续努力的,总是被无法下载的问题困扰着到现在终于解决了,STM32很强大我会继续学习发帖和大家分享,关于CooCox CoIDE的部分我也很感兴趣希望可以搞懂嘿嘿虽然放假了资源可能少了但是不会减退俺滴热情希望大家也都多交流。




谢谢分享学习一下
