stm32f103c8t6工程模板的建立
由于项目需要,因此入手了c8t6,虽然网上关于f1的教程挺多的,也挺全面,但自己刚开始接触c8t6,觉得商家配套的开发程序看着不习惯,就想弄成原子的风格,网上直接搜索一下,好像都没有特别好的教程,对于我这些小白来说还是不太友好的(弄这个工程模板花了一天时间,流下了没有技术的泪水。。。)。主要借鉴的是原子的开发文档。
- c8t6工程模板的建立
- SWD调试的配置
首先贴上移植原子的具体例程:
链接如下:正点原子openedv资料下载地址;我下载的是mini板的rct6资料,因为移植前先逛了论坛,原子哥在某篇帖子说了,直接移植这个开发板的例程即可。
新建相关文件
新建总文件夹,用来存放本次工程的所有程序,然后再建CORE、HARDWARE、OBJ、FWLIB、SYSTEM、USER这六个文件夹。其中,HARDWARE文件夹是用来存放外设硬件代码,OBJ用来存放生成调试代码,FWLIB是各种.c和.h文件,具体如下:
这几个文件夹包含的文件分别如下:
打开MDK,建立新工程,保存到USER下:
芯片型号选择STM32F103C8,然后会弹出run-time environment窗口,选择取消,
USER文件夹会出现这两个我们需要的文件:
在MDK添加项目所需要的分组以及文件:
配置options for target:
其中,select folder for objects是选择生成的hex存放的目录,这里选择存放在OBJ文件夹中,create HEX file是生成hex文件,用于下载到开发板的:
到这里就基本上完成了新建工程模板。在上网找相关教程的时候发现很多帖子说延时慢了10倍,然后要在初始化的时候添加一个system_init()函数之类的,后来我在原子的开发文档找到了这句话:
所以不用再加那句话了。编译程序,应该是通过的(程序源码在后面链接,如果按照上面的步骤来没通过的话就对比一下,或许有什么地方漏掉了也说不好,后面链接的工程文件亲测可用)。添加LED驱动代码:
我用的核心板关于LED的管脚分配如下:
所以需要配置的是PC13号管脚。
#include "led.h" //初始化PC13为输出口.并使能这个口的时钟
//LED IO初始化
void LED_Init(void)
{ GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); //使能PC端口时钟GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; //LED2-->PC13 端口配置GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHzGPIO_Init(GPIOC, &GPIO_InitStructure); //根据设定参数初始化PC13GPIO_SetBits(GPIOC,GPIO_Pin_13); PC13输出低,关闭所有LED
}
#ifndef __LED_H
#define __LED_H
#include "sys.h"
#define LED0 PCout(13) // PC13 void LED_Init(void);//初始化#endif
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"int main(void)
{ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级uart_init(9600); //串口初始化为9600delay_init(); //延时函数初始化LED_Init();while(1){LED0=0;delay_ms(1000);LED0=1;delay_ms(1000);}
}
SWD配置
- 由于我使用的是ST-LINK,所以这里选择ST-LINK debuger,然后选择SW port:
- Flash Download选择如下:
最后选择Download,实现SW下载。整个完整的stm32f103c8t6工程模板点击这里:百度网盘链接:w7xt
stm32f103c8t6工程模板的建立相关推荐
- STM32F103入门 | 6.工程模板的建立
1.在磁盘根目录创建文件夹,命名为Template,并在该文件夹中创建CORE,LIB,OBJ,USER四个文件夹. 2.打开Keil uVision5,选中Project中的New uVision ...
- CCS8.0--F28335工程模板的建立
F28335工程模板建立总结 1.当我们需要建立一个工程模板首先在想要建立的地址创建一个新的文件夹 比如:在该路径下创建一个工程,于是创建一个新文件夹123(路径中必须符合要求 比如:不能使用空格 不 ...
- STM32F103C8T6工程模板 ——固件库版、正点原子代码风格、包含SYSTEM文件夹
提示:文章包括省事部分和学会部分 文章目录 前言 一.想自己写在哪里学? 二.省事直接下载作者写好的 1.部分代码 2.工程模板包 总结 前言 笔者学习了STM32F103ZET6和STM32F104 ...
- 教你如何建立STM32F103通用工程模板(固件库)
1.首先新建文件夹,这里我取名为"Template",意思为模板. 2.在此文件夹内在新建6个子文件夹,分别为"STARTUP"."CMSIS&quo ...
- STM32标准工程模板建立
以下内容皆是个人学习过程中的总结,记录一下整个过程,用于后期复习,如有不对之处,麻烦各位大佬指出~ (喜欢的朋友麻烦点个关注~~~ 后期还会进行持续更新) 小白以及新手在刚开始接触单片机的时候,想必遇 ...
- 【嵌入式08】STM32F103C8T6寄存器方式借助面包板点亮LED流水灯详解
文章目录 一.题目简述 二.简述:初始化GPIO,点亮LED灯 三.工程文件模板的建立 四.使用寄存器点亮LED灯--代码部分 1.硬件连接设计 2.打开之前建立的工程模板 3.代码编写 4.硬件连接 ...
- STM32F103C8T6寄存器简单应用(流水灯)
一.STM32寄存器 STM32F103C8T6 (1)微控制器 STM32F103C8T6是一款基于ARM Cortex-M 内核STM32系列的32位的微控制器,程序存储器容量是64KB,需要电压 ...
- stm32f103c8t6新建固件库模板(可自取)
目录 准备资料 步骤 百度网盘链接 准备资料 V3.5 固件库包: STM32F10x_StdPeriph_Lib_V3.5.0 这是 ST 官网下载的固件库完整版, MDK5开发环境 不想自己新建项 ...
- STM32F4 | 新建工程模板——寄存器版本 | HAL库入门 | 新建工程模板——库函数版本
文章目录 一.新建工程模板--寄存器版本 二.HAL入门 1.固件库和寄存器的区别 2.STM32CubeF4 3.HAL库包介绍 三.新建HAL库工程模板 一.新建工程模板--寄存器版本 开发环境: ...
最新文章
- 虚拟机使用镜像文件安装系统
- android中的显示跳转和隐式跳转
- Windows环境下32位汇编程序设计C版code--第五章(三)
- 使用变量_存储过程和函数及变量的使用
- 第十天:估算活动持续时间,类比估算,参数估算,自下而上估算,三点估算解析表
- C语言 #运算符 - C语言零基础入门教程
- 数据分析系统DIY1/3:CentOS7+MariaDB安装纪实
- 【自动化测试】在做自动化测试之前你需要知道的
- java 多版本管理工具_简介linux下的多版本管理工具—alternatives
- CSS之固定定位,绝对定位+负边距,双飞翼布局,属性选择器,伪类选择器补,状态伪类选择器,相邻全部兄弟选择器,取非选择器,em与rem,变形效果...
- hbuilder怎么设置网页的大小_怎么免费将图片转成PDF?这个方法超简单
- 页面编码和js文件不同导致的IE6下脚本错误
- Filter过滤敏感词汇
- matlab与信道编码,基于MATLAB的信道编码.doc
- 微信小程序仿支付宝滑动图标
- 有一个测试微信删除软件叫wool,微信中用发起群聊来测试你有没有被对方删除好友方法图文教程...
- 加权平均数的例子_加权平均数公式(加权平均数公式例子)
- mysql 联合主键 自增_mysal 数据库联合主键自增问题
- 郝夫曼(Huffman)树及其应用
- 使用sil9233a芯片控制海思hi3531d的hdmi输入
热门文章
- 钢笔墨水能否代替打印机墨水_如何避免打印机墨水偷偷跑掉
- 基于Web SCADA平台构建气体计量系统及SCADA监控系统
- 让edge浏览器可以一直启动flash问题的解决办法。
- 中鸣教育计算机二级,中鸣机器人教育套装使用指南2012.11.02.pdf
- 1.3.5 交换机的端口聚合配置
- python注释快捷键 引号注释快捷键 注释字体样式调整
- newmark法 matlab,newmark法程序newmark法程序.doc
- 自研扫地机器人激光雷达,Camsense有何胜算?
- Stream流数组和对象List排序
- 在arm上使用Cachegrind的一些心得