当前位置: 首页 > news >正文

知名的咨询行业网站制作/人力资源培训

知名的咨询行业网站制作,人力资源培训,合肥怎么做网站,苏州app制作目录 STM32标准固件库简介 代码以C语言开发 目录结构 页面配置 Proteus中仿真实现 STM32标准固件库简介 stm32f10x.h 这个头文件实现了片上外设的所以寄存器的映射,是一个非常重要的头文件,在内核中与之相对应的头文件是 core_cm3.h。 system_stm3…

目录

STM32标准固件库简介

代码以C语言开发

目录结构

页面配置

Proteus中仿真实现


STM32标准固件库简介

stm32f10x.h

这个头文件实现了片上外设的所以寄存器的映射,是一个非常重要的头文件,在内核中与之相对应的头文件是 core_cm3.h

system_stm32f10x.c

实现了STM32 的时钟配置,操作的是片上 RCC 这个外设。系统在上电之后,首选先会执行由汇编编写的 启动文件,启动文件中的复位函数中调用的SystemInit 函数就在 这个文件里面定义。调用完之后,系统的时钟就被初始化成72M如果后面我们需要重新配置系统时钟,我们就可以参考这个函数 重写。为了维持库的完整性,我们不会直接在这个文件里面修改时钟配置函数。

stm32f10x_it.c

这个文件是专门用来编写中断服务函数的,在我 们修改前,这个文件已经定义了一些系统异常(特殊中断) 的接口, 其它普通中断服务函数由我们自己添加。但是我们怎么知道这些中 断服务函的接口如何写?在学习中断和启动文件的时候会详细介绍。

stm32f10x_conf.h

这个文件被包含进stm32f10x.h 文件。当我们使 用固件库编程的时候,如果需要某个外设的驱动库,就需要包含该 外设的头文件:stm32f10x_ppp.h,包含一个还好,如果是用了多外 设,就要包含多个头文件,这不仅影响代码美观也不好管理,现 我们用一个头文件stm32f10x_conf.h 把这些外设头文件都包含在里面, 让这个配置头文件统一管理这些外设头文件,我们在应用程序中只
要包含这个配置头文件即可,我们又知道这个头文件在stm32f10x.h的最后被包含,所以最终我们只需要包含stm32f10x.h 这个头文件即 可,非常方便。默认情况下是所以头文件都被包含,没有被注释掉。

代码以C语言开发

delay_ms.c:
#include "stm32f10x.h" 
void delay_ms(uint32_t CntDwn) 
{ for( ; CntDwn != 0; CntDwn--); 
}

delay_ms.h:

#ifndef __delay_ms_h 
#define __delay_ms_h 
#include "stm32f10x.h" 
void delay_ms(uint32_t CntDwn); 
#endif /* "__Delay_h" */ 

bsp_led.c:
#include "stm32f10x.h" 
#include "stm32f10x_gpio.h" 
#include "bsp_led.h" 
/************************************************* 
* @Initializing IOs Controlling the Leds 
* @FWLB Here is Very Similar to Chapter 04 
*************************************************/ 
void LED_GPIO_Config(void) 
{ GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(LED1_GPIO_CLK, ENABLE); GPIO_InitStructure.GPIO_Pin = LED1_GPIO_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(LED1_GPIO_PORT, &GPIO_InitStructure); RCC_APB2PeriphClockCmd(LED2_GPIO_CLK, ENABLE); GPIO_InitStructure.GPIO_Pin = LED2_GPIO_PIN; GPIO_Init(LED2_GPIO_PORT, &GPIO_InitStructure); GPIO_SetBits(LED1_GPIO_PORT, LED1_GPIO_PIN); GPIO_SetBits(LED2_GPIO_PORT, LED2_GPIO_PIN); 
}

bsp_led.h:

#ifndef __bsp_led_h 
#define __bsp_led_h 
/* Define GPIOs' Pins, Could Modify in the Future If Schematic 
has been changed*/ 
#define LED1_GPIO_PORT GPIOB // GPIO Port B 
#define LED1_GPIO_CLK RCC_APB2Periph_GPIOB // GPIO Port CLK -- RCC's APB2ENR
#define LED1_GPIO_PIN GPIO_Pin_2 // PB2 
#define LED2_GPIO_PORT GPIOC // GPIO Port C 
#define LED2_GPIO_CLK RCC_APB2Periph_GPIOC // GPIO Port CLK -- RCC's APB2ENR
#define LED2_GPIO_PIN GPIO_Pin_2 // PC2 
/* Macro Definition to Trigger the Led, On or Off */ 
#define ON 0 
#define OFF 1 
/* Use Firmware Library to Control IO */ 
#define LED1(d) if(d) \GPIO_SetBits(LED1_GPIO_PORT, LED1_GPIO_PIN); \else \GPIO_ResetBits(LED1_GPIO_PORT, LED1_GPIO_PIN) 
#define LED2(d) if(d) \GPIO_SetBits(LED2_GPIO_PORT, LED2_GPIO_PIN); \else \GPIO_ResetBits(LED2_GPIO_PORT, LED2_GPIO_PIN) void LED_GPIO_Config(void); 
#endif /* __bsp_led_h */

main.c:

#include "stm32f10x.h" 
#include "bsp_led.h" 
#include "delay_ms.h" 
int main(void) 
{ LED_GPIO_Config(); while(1) { LED1(ON); LED2(OFF); delay_ms(0x1FFFFF); LED1(OFF); LED2(ON); delay_ms(0x1FFFFF); } 
}

目录结构

页面配置

版本选择

XX.hex文件配置

 

等等。

Proteus中仿真实现

(1) D2闪,D3灭

 

 (2) D3闪,D2灭

 

喜欢,就点个赞吧!

http://www.lbrq.cn/news/928423.html

相关文章:

  • 自己动手制作网站/剪辑培训班一般学费多少
  • 营销类网站模板/衡水seo优化
  • 网址和网站的区别/免费智能seo收录工具
  • 做网站怎么做多少钱/微信朋友圈推广平台
  • 中山地区做网站公司/seo外包公司兴田德润
  • 网站做用户登录/百度一下官网手机版
  • 网站制作商业模式/百度推广代运营公司
  • 棋牌软件开发/seo从0到1怎么做
  • 用凡科做网站需要花钱吗/seo站长助手
  • 上海知名进出口贸易公司/苏州seo按天扣费
  • 在哪个网站做视频赚钱/免费com域名注册网站
  • 微信赌博链接网站建设/今日重大新闻事件
  • 哈尔滨创意网站建设/怎样做好网络推广呀
  • 山东建设企业网站/百度推广开户
  • 网站如何做seo推广方案/自己创建网页
  • 企业公司有哪些/佛山优化推广
  • 网站图片验证码出不来/如何优化网站排名
  • 河北沧州疫情最新消息今天/seo推广费用
  • 好网站不收藏/百度怎么优化网站关键词
  • 如何用爬虫做网站监控/游戏推广员一个月能赚多少
  • 软件下载官网源码/淘宝seo
  • 招标网站建设招标方案/怎么创建自己的网站
  • 双轨网站开发/网络推广具体内容
  • 南京网站建设公司哪家好/seo指搜索引擎
  • 为第三方网站做推广/企点官网
  • 建站教程流程图/个人网站搭建
  • 怎样制作网页且有链接/外链seo推广
  • 花生壳做网站/seo神器
  • 武威 网站建设/优化官网咨询
  • 南宁网站建设哪家公司实力强/站长工具无内鬼放心开车禁止收费
  • 每日练习(红黑树)
  • 大气波导中的抛物线方程建模(下):数值求解
  • k8s-master03加入集群失败解决方法之一
  • 前端js通过a标签直接预览pdf文件,弹出下载页面问题
  • Linux 系统进程管理与计划任务详解
  • NSGA-III(非支配排序遗传算法 III)求解 7 目标的 DTLZ2 测试函数