| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 潘多拉 STM32L475 VE——开发板学习 (持续更新) -> 正文阅读 |
|
[嵌入式]潘多拉 STM32L475 VE——开发板学习 (持续更新) |
? ? ?首先就是开发板的各个硬件的介绍:
◆
MCU
:
STM32L475VET6
,
LQFP100
,
SRAM
:
128K
,
FLASH
:
512K
◆ 外扩
SPI FLASH
:
W25Q128
,
16M
字节
◆
1
个电源指示灯(蓝色)
◆
1
个
RGB
状态指示灯(红、绿、蓝三色)
◆
4
个功能按钮,其中
WK_UP
兼具唤醒功能
◆
1
个启动模式配置选择接口
◆
1
个复位按钮
◆
1
个红外接收头,并配备一款小巧的红外遥控器
◆
1
个红外发射头
◆
1
个有源蜂鸣器
◆
1
个光环境传感器:
AP3216C
◆
1
个贴片电机,带
TC214B
电机驱动芯片
◆
1
个六轴传感器:
ICM-20608
◆
1
个
TF
卡座
◆
1
个录音头(
MIC/
咪头)
◆
1
个
ATK
模块接口,支持
ALIENTEK
蓝牙
/GPS/MPU6050/RGB
灯等模块
◆
1
个高性能音频解码芯片:
ES8388
◆
1
个无线模块接口(
WIRELESS
),支持
NRF24L01
无线模块
/
以太网模块
◆
1
路立体声耳机接口
◆
1
个温湿度传感器:
AHT10
◆
1
个
TFTLCD
显示屏:
1.3
寸
240*240
分辨率
◆
1
个
WIFI
天线
◆
1
个
WIFI
模块:
AP6181
◆
1
个电源开关,控制整个板的电源
◆
1
个
STM32F103C8T6
,集成
ST LINK V2.1
功能
◆
1
个
ST LINK Micro USB
接口,可用于供电、程序下载、仿真调试和串口通讯
◆
1
个
USB OTG Micro USB
接口,用于供电、
USB Slave
和
USB Master
◆
1
组
5V
电源供应
/
接入口
◆
1
组
3.3V
电源供应
/
接入口
◆
1
组
IO
口扩展接口,并带
3.3V
电源输出接口
功能挺多的,拆分下来就是几个传感器,几个功能模块,芯片啥的就不懂了,不过还是继续学习。 介绍一下开发软件吧,我是用的是keil和STM32CubeMX ?keil软件初始界面 ?就是对这一个个按钮,看过去就是了。 注意的是刚开始要进行调试: *选择驱动 接下来点Setting 之后就是编写好程序,下载了 ?然后是在线调试程序(需要安装STM32 USB 虚拟串口驱动),程序上传到开发板之后才可以调试 基本上上面都是没什么用的东西,下面开始干货了--------------------------------STM32L4 基础知识C语言
开始就是
? 位操作
? ?示例
? ? ? ? ? ? GPIOA->ODR &=0XFF0F; //
将第
4-7
位清
0
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1111 1111 0000 1111
? ? ? ? ? ? GPIOA->ODR |=0X0040; //设置相应位的值,即寄存器
第7位置1,
,不改变其他位的值,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?00000000 0100 0000
IDR是查看引脚电平状态用的寄存器,ODR是引脚电平输出的寄存器
? ?
? ?define
宏定义
? ? ? ? ? ? ? ? define 是 C 语言中的预处理命令,它用于宏定义,可以提高源代码的可读性,为编程提? ? ? ? ? ?供方便。常见的格式:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #define
标识符 字符串
# ifdef
和
#if defined
条件编译? ? ? 类似于if else
? ? ? ? ? ?#ifdef
标识符
? ? ? ? ? ? ? ? 程序段
1
? ? ? ? ? ?#else
? ? ? ? ? ? ? ? 程序段
2
? ? ? ? ? ?#endif
它的作用是:当标识符已经被定义过(一般是用#define 命令定义),则对程序段 1 进行编
译,否则编译程序段 2。 其中#else 部分也可以没有,即:
? ? ? ? ? ?#ifdef
? ? ?? ? ? ? ? ? 程序段
1
? ?? ? ? ? #endif
例
? ? ? ? ? ? ? #ifdef HAL_GPIO_MODULE_ENABLED
? ? ? ? ? ? ? ? ? ?#include "stm32l4xx_hal_gpio.h"
? ? ? ? ? ? ? #endif
这段代码的作用是判断宏定义标识符
HAL_GPIO_MODULE_ENABLED
是否被定义,如果
被定义了,那么就引入头文件
stm32l4xx_hal_gpio.h
。
? ? extern
变量申明
? ? ? C 语言中
extern
可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示
编译器遇到此变量和函数时在其他模块中寻找其定义。这里面要注意,对于 extern 申明变量可
以多次,但定义只有一次。在我们的代码中你会看到看到这样的语句:
extern u16 USART_RX_STA;
这个语句是申明 USART_RX_STA 变量在其他文件中已经定义了,在这里要使用到。? ?
? ??typedef 类型别名
? ? typedef 用于为现有类型创建一个新的名字,或称为类型别名,用来简化变量的定义。
typedef 在 MDK 用得最多的就是定义结构体的类型别名和枚举类型
? ? ? ? ? ? struct _GPIO
? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ? __IO uint32_t MODER;
? ? ? ? ? ? ? ? ? __IO uint32_t OTYPER;
? ? ? ? ? ? ? ? ? …
? ? ? ? ? ?? }
? ? ? 定义了一个结构体 GPIO,这样我们定义变量的方式为:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? struct _GPIO GPIOA;//
定义结构体变量
GPIOA
而使用typedef是这样
? ? ? ? ? ? ?typedef struct
? ? ? ? ? ? ?{
? ? ? ? ? ? ? __IO uint32_t MODER;
? ? ? ? ? ? ? __IO uint32_t OTYPER;
? ? ? ? ? ? ? …
? ? ? ? ? ? ? } GPIO_TypeDef;
Typedef 为结构体定义一个别名 GPIO_TypeDef,这样我们可以通过 GPIO_TypeDef 来定义结
构体变量:
? ? ? ? ? ? ? ? GPIO_TypeDef _GPIOA,_GPIOB;
STM32L4 总线架构
?
五条主控总线:
? ? ? ? ? ? ? ? ? ? ? ? -Cortex-M4
内核
I
总线,
D
总线和
S
总线
? ? ? ? ? ? ? ? ? ? ? ? - DMA1
存储器总线
? ? ? ? ? ? ? ? ? ? ? ? - DMA2
存储器总线
?
八条被控总线:
? ? ? ? ? ? ? ? ? ? ? ? - 内部
FLASH ICode
总线
? ? ? ? ? ? ? ? ? ? ? ? -内部
FLASH DCode
总线
? ? ? ? ? ? ? ? ? ? ? ? - 内部
SRAM1
? ? ? ? ? ? ? ? ? ? ? ? -内部
SRAM2
? ? ? ? ? ? ? ? ? ? ? ? - AHB1 外设
? ? ? ? ? ? ? ? ? ? ? ? -?AHB2 外设?
? ? ? ? ? ? ? ? ? ? ? ? - FMC
和
QSPI
|
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 12:21:42- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |