IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-12-08 13:58:41  更:2021-12-08 13:58:45 
 
开发: 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-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码