潘多拉 STM32L475 VE——开发板学习 (持续更新)

article/2025/8/15 23:07:17

     首先就是开发板的各个硬件的介绍:

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


http://chatgpt.dhexx.cn/article/QjdSH9GY.shtml

相关文章

WiFi 移植记录及心得 一

平台环境:IMX6-sabresd_6dq Android4.4.2 Linux3.0.35 WiFi模块:AP6181 (BCM43362) Linux3.0.35已经是支持博通的芯片,可以看到 kernel_imx/drivers/net/wireless 下面有几款博通芯片(bcm4329/bcm4330/bcmdhd)的驱动源码,AP6181WiFi模块用的bcm43362这款,所以这里选…

imx6ull linux下wifi驱动移植

linux下wifi移植,首先要保证硬件gpio相关配置正确,第二步是才是软件相关的配置 一、硬件篇 硬件模块选的是正基ap6745的三合一模块(wifi、bt、fm),wifi通讯用sdio模式传输数据,sdio_vsl决定sdio工作电压是…

物联网中你需要了解的ESP8266最基本的知识!

若要涉及到物联网,必然绕不开ESP8266。由于其低廉的价格、超高的性能和便利的开发环境,其毫无疑问成为了业界里程碑一样的存在。 在本文中,我们采购的是正点原子的ESP8266模块,连接的单片机为正点原子的STM32 MINI开发板。 本文…

WiFi蓝牙FM三合一模块AP6356S

AMPAK正基AP6356S,这是一款可同时双频工作的双通道SDIO接口WiFi支持11ac级双频、蓝牙支持BT4.1标准的WiFi 蓝牙 FM三合一模块;其中蓝牙和WiFi共用天线(也就是双天线),还有一款硬件尺寸完全一样的,蓝牙WiFi天线分开的AP6398S3R(也就是三天线) 技术问题 模…

正基WiFi模块STA模式基本操作示例(2)

接上一篇文章! 4. STA 模式基本操作示例 4-1 加载驱动 步骤 1. 加载驱动。 ap6181/ap6212/ap6212a/ap6214a/ap6255 himm 0x100d0004 0x1 himm 0x12098034 0x10101070 insmod cfg80211.ko insmod bcmdhd.ko firmware_path/etc/firmware/fw_bcm40181a2.bin nvram_path…

android+wifi驱动移植,全志R16 android4平台移植wifi资料下载

2. 模块概述 目前R16 android4.4 平台上已支持wifi 模组有5款,本文档将以R16 y3方案为例 说明如何配置每款wifi 模组。Rtl8723au暂不支持 wifi 模组可分USB 接口和SDIO 接口两种类型,部分模组带蓝牙和FM 功能(FM 功能尚未支持),wifi 的全功能…

ap8161驱动移植

平台:imx287 linux内核:2.6.35 开机设置:正常开机,跳线帽在jp4, SD烧写JP3 JP4 正常启动后,sd卡的内容读取,拔掉jp4跳线帽,在串口控制台输入:df -m 找到盘号。然后在板子的/media…

[RK3288 Android7.1.2 ]新增wifi模块ap6256

Platform: ROCKCHIP Chip: RK3288 OS: Android7.1.2 Kernel: 4.4.143 背景 旧板wifi模块ap6235,硬件将wifi模块替换成ap6256,未改代码情况下,wifi不能用, 设备打印如下 代码修改 1.新增固件:wifi在externa\wlan_loader\firmw…

RK903 RK901 AP6xxx系列WiFi模块配置

包括以下模块:RK901、RK903、AP6181、AP6210、AP6330、AP6476、AP6335等选择“RK901/RK903/BCM4330/AP6XXX wireless cards support” 不需要配置:“Select the wifi module”与”Select the wifi module crystal freq”dts中wifi_chip_type配置&#xf…

AMPAK正基AP6XXX系列WiFi移植(1)

通常 Wi-Fi 有四种模式,不同的 Wi-Fi 设备可能支持其中一种或几种模式,四种模式如下: SoftAP:access point,一种将无线设备连接到一个网络的设备,可以理解为无线路由。 STA:station&#xff0…

RT-Thread学习的综合应用——使用AP6181 WiFi模组对接OneNET应用示例

学习了RT-Thread的内核也有一段时间了,由于各种各样的琐事自己没有去做一个综合应用示例,刚最近有点时间,做了一个对接OneNET的历程,采用的是OneNET的EDP协议,关于OneNET的EDP协议可以点击跳转至OneNET EDP协议讲解与应…

IOT-OS之RT-Thread(十六)--- WLAN管理框架 + AP6181(BCM43362) WiFi模块

文章目录 一、WLAN管理框架简介二、WLAN Device实现与AP6181 WLAN驱动移植2.1 WLAN Device驱动接口层2.2 AP6181 WLAN驱动移植 三、WLAN Protocol实现与LwIP协议栈移植3.1 WLAN Protocol 网络协议层3.2 LwIP协议栈移植 四、WLAN Config 参数管理与自动连接实现4.1 WLAN Config …

ap6181移植

ap6181 功能:wifi station、softap、wifi direct 接口类型:SDIO 编译模式:编成模块方式,修改路径如下BoardConfig.mk android4.4\device\softwinner\astar-y3 BoardConfig.mk 文件决定android 加载哪一款wifi 模组, 要…

超高性价比WiFi蓝牙模块大合集

无线技术的不断成熟,对物联网的发展起着至关重要的作用,实现“万物互联、物物互联”变得更加轻松、安全。蓝牙技术和WiFi技术都属于无线通信网络标准,可以实现无线段距离联络,并且都工作在ISM2.4GHz公共频段,但是不同的…

IOT-OS之RT-Thread(十五)--- SDIO设备对象管理 + AP6181(BCM43362) WiFi模块

文章目录 一、AP6181 Wi-Fi模块简介1.1 AP6181 硬件接口1.2 AP6181 驱动层级 二 SDIO设备对象管理2.1 SDIO Bus Driver2.1.1 Host 数据结构描述2.1.2 rt_mmcsd_req 数据结构描述2.1.3 SDIO Bus 接口函数及初始化过程 2.2 SDIO Card Device & Driver2.2.1 SDIO Card 数据结构…

揭晓你所不了解的第三代测序技术

揭晓你所不了解的第三代测序技术 浏览 5440 讨论 1 biozy楼主 发布于 2015-07-10 只看楼主 什么是第三代测序技术? 第三代测序技术是指单分子测序技术。DNA测序时,不需要经过PCR扩增,实现了对每一条DNA分子的单独测序。如果你还记得&#xff…

《全基因组测序WGS数据分析——1.DNA测序技术》

WGS(Whole Genome Sequencing) 指将物种细胞里面完整的基因组序列全部DNA,检测并排列,此技术几乎能够鉴定出基因组上任何类型的突变。 对于人类来说,全基因组测序的价值是极大的,它的信息包含了所有基因和生命特征之间的内在关联…

DNA 测序技术

DNA 测序技术用以分析特定DNA 片段的碱基序列(腺嘌呤(A)、胸腺嘧啶(T)、胞嘧啶(C)与鸟嘌呤(G))的排列方式. 图2 DNA 测序及拼接过程示意图 Fig. 2 Diagram of…

单细胞测序系列之一:测序技术的发展

本文同步发布于个人博客https://www.horosama.com 相关文章链接: 单细胞测序系列之二:单细胞基因组测序 单细胞测序系列之三:单细胞转录组测序 文章目录 1 引言2 第一代测序技术3 第二代测序技术4 第三代测序技术 1 引言 图1 核酸测序技术的…

Nanopore测序技术

Nanopore测序技术 Shaoqian_Ma已关注 0.1142020.04.14 10:59:30字数 2,727阅读 360 纳米孔测序解析新型冠状病毒全基因组 本文的参考视频为:https://www.bilibili.com/video/BV13T4y15727?p9 简介 官网:https://nanoporetech.com/ 优势如下&…