1.ushijiuSTM32F407ZGT6
为开发板的核心芯片,其中包含一个10/100M的以太网控制器。 2.操作四个配置寄存器初始化GPIO是通过GPIO初始化函数完成。此函数有两个参数,一个用来初始化GPIO组,另一个用来初始化参数结构体指针。
3.GPIO设置用于STM32F4的I/O 端口设置。ODR寄存器用于控制GPIO的输出。在固件库中设置ODR寄存器的值来控制IO口的输出状态是通过函数GPIO_Write来实现。IDR寄存器用于读取GPIO的输入。
4.寄存器的上拉和下拉(单独的PUPDR寄存器控制):上拉为I/O口经上拉电阻接至电源,用于提高驱动。下拉保证I/O口为低电平。 5.GPIO(I/O端口设置)相关的函数和定义分布在固件库文件stm32f4xx_gpio.c和头文件stm32f4xx_gpio.h文件中。初始化函数 6.跑马灯实验,结构体的初始化实例。
7.STM32F4的IO口做输入使用的时候,是通过调用函数GPIO_ReadInputDataBit()来读取IO口的状态的。
8.编写串口中断处理函数:函数名格式为USARTxIRQHandler(x对应串口号)。使能串口调用函数USART_Cmd来实现。 9.对于STM32串口的设置步骤如下:(考虑中断优先级) ① 串口时钟使能,GPIO时钟使能 ② 设置引脚复用器映射 ③ GPIO端口初始化设置
④ 串口参数初始化
⑤ 初始化NVIC并且开启中断
⑥ 使能串口
10.STM32F4有3个ADC,为12位逐次逼近型的模拟数字转换器。它有19个通道,可测量16个外部源、2个内部源和Vbat通道的信号。
(1)ADC控制寄存器(ADC_CR1和ADC_CR2)。(ADON=1) (2)ADC通用控制寄存器(ADC_CCR)。
(3)ADC采样时间寄存器(ADC_SMPR1和ADC_SMPR2), 这两个寄存器用于设置通道0~18的采样时间,每个通道占用 3个位。ADC规则序列寄存器(ADC_SQR1~3),该寄存器总 共有3个。
(4)ADC规则数据寄存器(ADC_DR),规则序列中的AD转化结 果都将被存在这个寄存器里面,而注入通道的转换结果被保 存在ADC_JDRx里面。
(5)ADC寄存器为ADC状态寄存器(ADC_SR),该寄存器保 存了ADC转换时的各种状态。(实验23)
11.ADC的采样时间增大,会提高采样的准确度,但同时会降低ADC 的转换速率。
总转换时间=采样时间+12个周期 12.第23章讲述了如何开启通道进行AD转换。
13.DMA(Direct Memory Access)模式:是一种不经过CPU而直接
从内存存取数据的数据交换模式。在DMA模式下,CPU只须向DMA控制器下达指令,让DMA控制器来处理数据的传送,数据传送完毕后再把信息反馈给CPU。(实际中要禁止)
14.RS485是隶属于OSI模型物理层的电气特性规定为2线,半双工,多点通信的标准。其传输距离远,传输速率高。多使用在点对点的网络中。采用SP3485作为收发器。
图中A、B总线接口,用于连接485总线。RO是接收输出端,DI是发送数据收入端,RE是接收使能信号(低电平有效),DE是发送使能信号(高电平有效)。
对于RS485通信时使用到的相关函数如下:
RS485_Init函数为485通信初始化函数,配置串口2 USART2_IRQHandler函数用于中断接收来自485总线的数 据,将其存放在RS485_RX_BUF里面。
RS485_Send_Data和RS485_Receive_Data这两个函数用来发 送数据到485总线和读取从485总线收到的数据。 15.CAN (Controller Area Network )是ISO国际标准化的串行通信协议。CAN 控制器根据两根线上的电位差来判断总线电平。总线电
平分为显性电平和隐性电平,二者必居其一。发送方通过使总线电平发生变化,将消息发送给接收方。
使用函数:CAN_Mode_Init函数,用于CAN的初始化。 Can_Send_Msg函数,用于CAN报文的发送。
Can_Receive_Msg函数,用来接受数据并且将接受到的 数据存放到buf中。
16.串行外设接口 (SPI) 可与外部器件进行半双工/全双工的同步串行 通信。