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

本文共 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

你可能感兴趣的文章
Docker(二十)在 Kubernetes 中配置私有 DNS 和上游域名服务器
查看>>
AIX 6.1 + HACMP 6.1 + Oracle 11g双机实施 (1) --- AIX 6.1配置HACMP 6.1
查看>>
我的友情链接
查看>>
mysqldump 使用
查看>>
做最好的自己,人生十件事(事业,人生,情感)
查看>>
jboss 优化
查看>>
Android OpenGL ES与EGL
查看>>
python中urllib和urllib2小结
查看>>
我的友情链接
查看>>
再续专注提高技术
查看>>
【Glassfish入门】使用Glassfish
查看>>
部署社交网站
查看>>
Centos7 安装JDK
查看>>
浅谈个人安全意识
查看>>
基于底层事件的录制回放实现
查看>>
ethos从入门到精通-4.1映泰主板bios设置
查看>>
js 去除字符串空白符
查看>>
我的友情链接
查看>>
UC浏览器QQ浏览器欧朋浏览器使用体会
查看>>
Tcmalloc优化Nginx内存管理
查看>>