一、STM32F1和F4的区别?
内核不同:F1是Cortex-M3内核,F4是Cortex-M4内核;主频不同:F1主频72MHz,F4主频168MHz;浮点运算:F1无浮点运算单位,F4有;功能性能:F4外设比F1丰富且功能更强大,比如GPIO翻转速率、上下拉电阻配置、ADC精度等;内存大小:F1内部SRAM最大64K,F4有192K(112+64+16)。
二、介绍一下STM32启动过程
通过Boot引脚设定,寻找初始地址初始化栈指针 __initial_sp指向复位程序 Reset_Hander设置异常中断 HardFault_Handler设置系统时钟 SystemInit调用C库函数 _main
三、介绍一下GPIO
GPIO 8种工作模式(gpio_init.GPIO_Mode):
(1) GPIO_Mode_AIN 模拟输入
(2) GPIO_Mode_IN_FLOATING 浮空输入
(3) GPIO_Mode_IPD 下拉输入
(4) GPIO_Mode_IPU 上拉输入
(5) GPIO_Mode_Out_OD 开漏输出
(6) GPIO_Mode_Out_PP 推挽输出
(7) GPIO_Mode_AF_OD 复用开漏输出
(8) GPIO_Mode_AF_PP 复用推挽输出APB2负责 AD,I/O,高级TIM,串口1。
APB1负责 DA,USB,SPI,I2C,CAN,串口2345,普通TIM,PWR

四、UART
-
问题一:串行通信方式介绍
同步通信:I2C 半双工,SPI 全双工
异步通信:RS485 半双工、RS232 全双工
-
问题二:串口配置
串口设置的一般步骤可以总结为如下几个步骤:
(1)串口时钟使能,GPIO时钟使能(2)串口复位(3)GPIO端口模式设置TX的GPIO工作模式为:GPIO_Mode_AF_PP; //复用推挽输出RX的GPIO工作模式为:GPIO_Mode_IN_FLOATING; //浮空输入

(4)串口参数初始化主要包含:波特率设置(115200)、8个数据位、1个停止位、无奇偶校验位、无硬件数据流控制、收发模式。(5)开启中断并且初始化NVIC(如果需要开启中断才需要这个步骤)
(6)使能串口
(7)编写中断处理函数
-
问题三:USART主要特点
(1)全双工操作(相互独立的接收数据和发送数据);
(2)同步操作时,可主机时钟同步,也可从机时钟同步;
(3)独立的高精度波特率发生器,不占用定时/计数器;
(4)支持5、6、7、8和9位数据位,1或2位停止位的串行数据桢结构;
(5)由硬件支持的奇偶校验位发生和检验;
(6)数据溢出检测;
(7)帧错误检测;
(8)包括错误起始位的检测噪声滤波器和数字低通滤波器
(9)三个完全独立的中断,TX发送完成、TX发送数据寄存器空、RX接收完成;
(10)支持多机通信模式;
(11)支持倍速异步通信模式。
应用场景:GPS、蓝牙、4G模块
五、I2C
问题一:I2C 总线在传送数据过程中共有三种类型信号
(1)开始信号:SCL 为高电平时,SDA 由高电平向低电平跳变,开始传送数据。
(2)结束信号:SCL 为高电平时,SDA 由低电平向高电平跳变,结束传送数据。
(3)应答信号:接收数据的 IC 在接收到 8bit 数据后,向发送数据的 IC 发出特定的低电平脉冲,表示已收到数据。CPU 向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU 接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。
问题二:I2C主机模式端口该怎么配置硬件模式:复用开漏输出、既不上拉也不下拉。
(快速模式:400 Kbit/s)软件模拟:推挽输出、配置上拉电阻。
问题三:I2C仲裁机制?I2C 仲裁机制,理解了 线“与”(Wired-AND),就一目了然了。简单说,它遵循“低电平优先”的原则,即谁先发送低电平谁就会掌握对总线的控制权。
硬件模式: 是由通信速率设置的
/* STM32 I2C 快速模式 */
#define I2C_Speed 400000
/* 通信速率 */
I2C_InitStructure.I2C_ClockSpeed = I2C_Speed;
软件模拟: 没有设置通信速率,该怎么计算呢?
通过I2C总线位延迟函数 i2c_Delay:
static void i2c_Delay(void)
{
uint8_t i;
/*
下面的时间是通过安富莱AX-Pro逻辑分析仪测试得到的。
CPU主频72M

文章详细介绍了STM32F1和F4的区别,包括内核、主频、浮点运算和功能性能等方面。接着阐述了STM32的启动过程,以及GPIO的8种工作模式。此外,还讨论了UART的串行通信方式、配置步骤和特点,I2C的信号类型、主机模式配置以及仲裁机制。SPI的工作模式和配置,CAN的总线电平、初始化配置和发送数据格式也进行了说明。文章还涉及DMA传输模式、中断处理流程、RTOS任务调度以及UCOSII的任务通信方式。最后提到了STM32的时钟源、自定义协议结构,以及uCOSII和Linux、FreeRTOS的比较。
最低0.47元/天 解锁文章

8902

被折叠的 条评论
为什么被折叠?



