20230816-探索者V3开发板

特点

接口丰富

设计灵活

资源充足

人性化设计

国产化程度高

基本参数

产品型号
ATK- DNF407 V3.2
CPU
STM32F407ZGT6,LQFP144
引出 IO
112 个
外形尺寸
121mm*160mm
工作电压
5V(USB)、DC6V~15V(DC005)
工作电流
75mA~120mA1(@5V)
工作温度
-40℃~+85℃

V3硬件资源

CPU

SRAM

SPI FLASH

EEPROM

电源指示灯

状态指示灯

复位按键

功能按键

电容触摸按键

电源开关

可调电位器

蜂鸣器

板载扬声器

红外接收头

光敏传感器

三轴磁力计芯片

音频编解码芯片

无线模块接口

CAN 接口

RS485 接口

RS232 接口

数字温湿度传感器接口

ATK 模块接口

LCD 接口

摄像头接口

OLED 模块接口

USB 转串口

USB 从机接口

USB HOST(OTG)

RS232/485 选择接口

RS232/模块选择接口

CAN/USB 选择接口

TF 卡接口

10M/100M 网口

JTAG/SWD 调试口

录音咪头(MIC)

立体声音频输出接口

立体声录音输入接口

多功能接口

5V 电源输入/输出口

3.3V 电源输入/输出口

参考电压设置接口

直流电源输入接口

启动模式选择配置接口

后备电池接口

引出 IO

一键下载电路


JTAG SWD

joint test action group 即联合测试行动小组

用标准的JTAG 调试,需要占用5个io 口,有些时候,可能造成io 口不够用,而用swd 则只需要2个io 口,大大节约了io 数量,但他们达到的效果是一样的

强烈建议仿真器使用swd模式

JTAG引脚说明:

TDI(Test Data In):串行输入引脚

TDO(Test Data Out):串行输出引脚

TCK(Test Clock):时钟引脚

TMS(Test Mode Select):模式选择(控制信号)引脚

TRST (Test Reset):复位引脚

SWD:Serial Wire Debug,代表串行线调试

SWD是ARM设计的协议,主要针对他们内核的芯片进行程序调试和下载。

SWD引脚说明:

SWDIO(Serial Wire Data Input Output):串行数据输入输出引脚

SWCLK(Serial Wire Clock):串行线时钟引脚

2.JTAG和SWD协议各自优缺点

JTAG优点:

a). 不限于ARM内核单片机,能支持更多单片机程序调试和下载。

b). 用途更广,用于编程,调试和生产测试.

JTAG缺点:占用引脚数比较多,比较占用板子尺寸。

SWD优点:

a). 引脚数更少,有利于节约电路板尺寸。

b). SWD具有特殊功能,例如通过其I / O线打印调试信息。

c). 在高速大数据情况下,SWD整体性能比JTAG更好。

SWD缺点:只能用于ARM内核的单片机。


第11章 STM32 时钟系统

HSE_VALUE


第17章 串口通信实验

单片机和上位机

单片机和外围器件之间

USART IIC SPI CAN USB

同步通信 可以实现高速率,大容量的数据传输

缺点,硬件复杂

异步通信 速率较低,只适用点对点传输

通信速率

传信率 比特率
传码率 波特率

CH340C

串口通信的协议层中,规定了数据包的内容,它由起始位、主题数据、校验位以及停止位组成

数据寄存器

控制器

串口波特率理解为每秒传输的二进制位数

fck 是给串口的时钟

USARTDIV 是允许有余数的,我们用四舍五入进行取整,这样会导致波特率会有所偏差,而这样小误差是可以被允许的。

USART 寄存器

串口时钟使能

串口复位

串口波特率设置

串口控制

数据发送与接收
USART_DR 来实现的,这是一个双寄存器 TDR RDR

串口状态

RXNE 读数据寄存器非空
TC 发送完成

GPIO 引脚复用功能

AFIO 复用功能寄存器

AFRH AFRL

宏定义的值都是一样的,而宏名称只是为了区分是哪个外设而已

原理图

这里需要注意的是:上图中的红色的接线引脚和蓝色的接线引脚需要用短路帽连接起来

uart.c 是异步收发器功能

usart.c 是通用同步异步收发器,暂时没有用到

函数形参

errorcode 串口错误操作信息,主要用于存放串口操作的错误信息

函数返回值

HAL_OK 表示成功,ERROR BUSY TIMEOUT

IT 函数是开启串口接收中断函数

IRQHandler 函数 中断处理公共函数

串口通信配置步骤

中断服务函数

RxCpltCallback 函数实现数据接收处理,

串口数据接收和发送

每个

串口1 的初始化函数

事实上这个函数的代码还可以直接放到usart_init 函数里面,但是hal 库为了代码的功能分层初始化,定义这个函数方便用户使用

AF_PP 推挽复用

AF_OD 开漏式复用

因为我们用到串口中断,所以还需要中断相关的配置

串口接收回调函数定义如下

在中断服务函数中,可以直接编写自己的中断服务函数

uint8_t

分数波特率发生器

USART

UART

MAX3232

TX

RX

SCLK

SW_RX

RX

接收中断

// USART


18章 独立看门狗实验

本质上是一个定时器,这个定时器有一个输出端,可以输出复位信号

IWDG 框图

IWDG 有一个输入,经过一个8位的可编程预分频器提供时钟给一个12位递减计数器

重载计数值喂狗

启动看门狗


19 章 窗口门狗WWDG 实验

通过LED0和LED1 提示程序的运行状态

WWDG 寄存器

控制寄存器 CR

配置寄存器 CFR

状态寄存器 SR

WDGA 位则是看门狗的激活位,该位由软件置1

WWDG 驱动代码

init 是独立看门狗初始化函数,主要设置预分频数、窗口值和计数器的值


第20章 基本定时器实验

STM32 由众多的定时器,其中包括
2个基本定时器,10个通用定时器
2个高级控制定时器

TIM6 和TIM7 功能完全相同,资源是完全独立的
16位 自动重载递增计数器

16位可编程预分频器

可以触发DAC的同步电路,以及生成中断DMA 请求

时钟源
控制器
时基单元

115200

电平 RS232

RS422

转换芯片

CH340C 芯片驱动

起始位 主体数据

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2015-2024 TeX_baitu
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~