博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
STM32配置一般过程(持续更新中)
阅读量:6911 次
发布时间:2019-06-27

本文共 1416 字,大约阅读时间需要 4 分钟。

1.外设配置顺序

RCC时钟→GPIO→其他外设

2.外设具体配置过程

①配置函数首先声明PPP_InitTypeDef结构体变量。

 例:GPIO_InitTypeDef  GPIO_InitStructure;

②为定义的结构体变量设置需要的值。

设置变量中所有的值:PPP_InitStructure.member1 = value1;PPP_InitStructure.member2 = value2;...

                     OR:            定义时直接赋值:PPP_InitTypeDef PPP_InitStructure = {value1,value2,value3....};

设置变量中部分值:PPP_StructInit(&PPP_InitStructure);//先对结构体变量进行初始化

                                    PPP_InitStructure.member1 = value1;PPP_InitStructure.member2 = value2;...

③在设置一个外设前,必须调用一下一个函数来使能它的时钟。

根据不同的外设,选择不同的BUS时钟,具体可查考参考手册中的时钟树。

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_PPPx,ENABLE);

RCC_APB1PeriphClockCmd(RCC_APB1Periph_PPPx,ENABLE);

RCC_APB2PeriphClockCmd(RCC_APB2Periph_PPPx,ENABLE);

④调用PPP_Init(PPP,&PPP_InitStructure)进行外设初始化。//PPP_DeInit()功能和PPP_Init(PPP)相反,将寄存器复位为缺省值。

⑤PPP_Cmd(PPP,ENABLE);将外设使能。

3.头文件的一般结构

①开头注释:文件名、描述、作者、版本、日期;

/******************************************** 文件:xxx.h* 说明:干什么用的* 作者:xxx* 版本:v1.0* 日期:year/month/day********************************************/

②预处理:预包含、宏定义

#ifndef __xxxx_h#define __xxxx_h#include "xxxx.h"#define ABC_DEC    FGHIGK#endif

③函数声明。

void  USARTtoUSB_CONFIG(void);uint16_t ABC_CALCULATE(uint16_t, uint16_t);

4.源函数的一般结构

①开头注释:文件名、描述、作者、版本、日期;

②头文件包含;

③全局变量定义,源文件函数声明(注意:一般不要在头文件声明,否则编译会出现重定义错误)

uint16_t          xxxValue = 0;             //变量初始化extern uint32_t   StateofXXX;               //变量来自外部引用,不能赋初值char              xString = "I love xxx";   //字符串变量

④具体函数体。

 

转载于:https://www.cnblogs.com/tuxinbang/p/10705431.html

你可能感兴趣的文章
python并发编程之IO模型
查看>>
Linux kernel parameter command line设置
查看>>
APNS远程推送证书的申请和制作——详细解析
查看>>
android 学习笔记(八)android底层学习8.1 学习makefile 走读build/core/main.mk
查看>>
字体FONT
查看>>
java开发软件的安装
查看>>
JavaWeb 之邮件发送
查看>>
Java虚拟机 - 内存模型
查看>>
mysql常用操作
查看>>
PHP FastCGI进程管理器PHP-FPM的架构
查看>>
hbase源码系列(六)HMaster启动过程
查看>>
LeetCode(5) : Longest Palindromic Substring
查看>>
mysql 配置详解
查看>>
cell自适应网络图片大小
查看>>
decode()函数的简单使用
查看>>
第三次作业
查看>>
asf与vga视频为何无法同步播放?我来给你解释!
查看>>
H5----初识canvas
查看>>
Oracle PL/SQL学习之基础篇(1)
查看>>
深度学习500问,我觉得很不错
查看>>