首页 > 其他分享 >KEIL5新建工程0810

KEIL5新建工程0810

时间:2023-08-10 23:11:37浏览次数:45  
标签:文件 新建 stm32f10x 0810 GPIOC 文件夹 GPIO KEIL5 库函数

 

 

 

在保存各种项目的文件夹内创建一个项目文件夹1
新建工程到文件夹1

选择芯片
添加工程的必要文件(固件库)

STM32程序是从启动文件开始,复制这些文件到文件夹A的新建Start文件夹下

stm32f10x.h  外设寄存器描述文件(寄存器名称以及地址)
system_stm32f10x.c 配置时钟

这三个文件也复制到Start文件夹下

STM32是内核和内核外围设备组成,而且这个内核的寄存器描述和外围设备的描述文件不是在一起的,所以还需要添加一个内核寄存器的描述文件

 也也复制到Start文件夹下

暂时OK

把对应的文件添加到项目中,  //具体芯片对应哪个启动文件可查看本文结尾

 添加头文件路径到工程选项(魔术棒)

 创建文件夹

 此时在main文件中添加下面代码,使用寄存器开发

#include "stm32f10x.h"
int main(void)
{
    while(1)
    {
        
    }
}

配置UTF8

配置调试器

测试代码

#include "stm32f10x.h"
int main(void)
{
    RCC->APB2ENR=0x00000010 ; //打开GPIOC的时钟
    GPIOC->CRH=0x00300000;    //输出模式   推挽输出
    //GPIOC->ODR=0x00000000;    //全0 PC13的灯亮,0002000灭
    GPIOC->ODR=0x0002000;
    while(1)
    {
    
    }
}

 

 

添加库函数   misc杂项,为内核库函数,其他的为外设库函数

 

 

 全部复制到新建的文件夹Library

 

over

 

 

stm32f10x_conf.h

配置库函数头文件的包含关系,用来参数检查的函数定义,库函数都需要

stm32f10x_it.c interrupt  文件存放中断函数
   

三个文件复制到User文件夹下,同时添加到工程对应文件夹内

 

定义相关

 

基于库函数的工程OK

 简单使用库函数

#include "stm32f10x.h"
int main(void)
{
    //RCC->APB2ENR=0x00000010 ; //打开GPIOC的时钟
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
    //GPIOC->CRH=0x00300000;    //输出模式   推挽输出
    GPIO_InitTypeDef A;
    A.GPIO_Mode=GPIO_Mode_Out_PP  ; //通用推挽输出
    A.GPIO_Pin=GPIO_Pin_13;
    A.GPIO_Speed=GPIO_Speed_50MHz;
    GPIO_Init(GPIOC, &A );  //13口的LED  HEX=C
    //GPIOC->ODR=0x00000000;    //全0 PC13的灯亮,0002000灭
    //GPIOC->ODR=0x0002000;
    GPIO_SetBits(GPIOC,GPIO_Pin_13);  //高电平
    //GPIO_ResetBits(GPIOC,GPIO_Pin_13);  //低电平   亮
    while(1)
    {
    
    }
}

 

 PS

启动文件对应芯片型号

 

项目整体结构分析    1 2主动执行 ,3 被动执行

 汇编写的调用

 

标签:文件,新建,stm32f10x,0810,GPIOC,文件夹,GPIO,KEIL5,库函数
From: https://www.cnblogs.com/liujinmeng/p/17621854.html

相关文章

  • vCenter6.5重建VCenter(新建过程中躲坑指南-虚拟化中分布式交换机)
    现象:Web页面报错信息如下:503ServiceUnavailable(Failedtoconnecttoendpoint:[N7Vmacore4Http20NamedPipeServiceSpecE:0x0000558181b429e0]_serverNamespace=/action=Allow_pipeName=/var/run/vmware/vpxd-webserver-pipe)解决方式:查看服务,发现有十多个服务没起来,......
  • Bootstrap框架----新建示例--各种input
    我们在之前的文章中已经在SpringMVC基础框架的基础上应用了BootStrap的后台框架,在此基础上记录新建示例。应用bootstrap模板基础项目源码下载地址为:SpringMVC+Shiro+MongoDB+BootStrap基础框架我们在基础项目中已经做好了首页index的访问。现在就在index.jsp页面和index的路由Con......
  • 【无需格式化硬盘即可C盘扩容以及新建磁盘】
    (无需格式化硬盘即可C盘扩容以及新建磁盘)简介DiskGenius是一款硬盘分区及数据恢复软件。它是在最初的DOS版的基础上开发而成的,Windows版本的DiskGenius软件,除了继承并增强了DOS版的大部分功能外,还增加了许多新的功能。如:已删除文件恢复、分区复制、分区备份、硬盘复制等功能。......
  • stm32用keil5新建C/C++写硬件串口模块的套路
    新建文件:写代码:就在这里开始写initSerial了..........
  • keil5中文乱码配置
    UTF-8好像没用了?这边用如图所示CHines的简体字。......
  • kvm中新建ubuntu虚拟机
    写在前面:这里宿主机是桥接模式,即通过网桥br0和外部机器进行通信。步骤如下:#下载模板镜像wgethttps://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img#重命名,移动到/opt目录下mv-ifocal-server-cloudimg-amd64.img/opt/ubuntu-20-server.qcow......
  • 《控制台篇》新建控制台程序
    新建控制台参考链接:https://blog.csdn.net/qq_35576988/article/details/97373920新建项目环境vs2017基础概念1、solution与projectsolution译为解决方法;project为项目。visualstudio在管理代码的时候,解决方案是最高级别。一个solution可以包含一个或多个project。2......
  • Java编程-目录整理、新建接口、集成mybatis plus以及数据库初始化
    数据库初始化新建对应调试库```#dockerps#dockerexec-it6d542566d077/bin/bashpostgres=#createdatabasenovel;```执行全量脚本......
  • 新建django项目两种办法,没有sqlite问题,更新数据库两条命令
    一般可以通过两种方式新建django项目:一、新建普通项目,再加载django框架1.新建一个普通的python项目,然后通过命令行安装django框架,进而加载项目2.在项目的终端命令行中,输入“django-adminstartproject项目名.”(注意最后这个"."必须输入,否则项目会套娃),再输入django-admin s......
  • keil5开发工具
    https://www.onlinedown.net/soft/1225643.htmhttps://baijiahao.baidu.com/s?id=1664649914108393455&wfr=spider&for=pc  基本简介Keil5是一款非常友好和强大的C语言软件开发系统。Keil5提供了清晰直观的操作界面,而且使用起来十分的轻松便捷,并具备编译器、编译器、安装包和调试......