我爱编程

运动控制器12:USART功能用于调试信息输出

2018-01-10  本文已影响0人  吴松乾

六大函数

1.初始化:USART_Init(USART1,&InitSturcture);

2.命令:USART_CMD(USART1,ENABLE);

3.中断和清中断: USART_ITConfig(USART1,USART_IT_TC,ENABLE);USART_ClearITPendingBit(UASAR1,USART_IT_TC);USART_GetITStatus(USART1,USART1_IT_TC);

4.状态获取:USART_GetFlagStatus(USART1,USART_FLAG_TC);

5.DMA命令: USART_DMACmd(USART1,USART_DMAReq_Tx,ENABLE);

6.发送和接收:USART_SendData(USART1,0XAA);uchar USART_ReceiveData(USART1);


三大结构体

1. 初始化结构体

- 速度:波特率

- 模式:收发

- 格式:数据长度,结束位,流控

2. 中断源

- 正常运行:TC,TXNE,RXE,IDLE

- 故障:四个故障

- 附加功能:两个附加功能中断

3. 状态源

- 同中断源


高级外设总线

1. APB1:低速36M,负责:

- 其他外设

2. APB2:高速72M,负责5个高速模块

- GPIO

- ADC

- 高级定时器TIM1,TIM8

- 高速通信USART1,SPI1

- 外部中断和模拟输入EXT1 AFIO


如何初始化和配置外设

1. 在函数一开始,申明一个结构体,如PPP_InitTypeDef PPPInitStructure;PPPInitStructure保存在本地的数据存储器中,可以用于初始化一个或多个外设。

2. 填充PPP_InitStructure,通过一个初始化参数的设置,我们可以把最基本的设置保存在一个结构体中,也可以单独设置。

3. 调用PPP_Init()进行初始化,PPP_Init(PPP, &PPP_InitStructure);

4. 然后调用命令函数,进行使能PPP_CMD

 **注意**!

1. 进行初始化设置之前,先用RCC_AHBPeriphClockCmd()将时钟打开

2. PPP_DeInit()可以将参数进行复位

3. 只需要修改一项参数时,不需要全局进行重新设置


STM32_USART相关

-  USART功能:同步单向,半双工单线,LIN,智能卡,IRDA,CTS/RTS

- 什么是NRZ标准(不归零):连续信号无分割。

- USART特性:4.5Mb

- 头文件函数:去初始化,初始化,数据传输,辅助功能(多处理器,LIN,半双工,智能卡,IRDA)DMA,中断和FLAG

- 终端源和状态源:通信TXE,TC,RXNE,IDLE 错误4位 ORE,NE,FE,PE 辅助CTS,LIN

- 中断和FLAG:5个函数,中断配置,获取状态,获取中断,清状态,清中断


GPIO的所有函数

- 初始化和去初始化:GPIO_DeInit,GPIO_AFIOdeInit,GPIO_Init,GPIO_StructInit

- 读写控制

1. 读:读输入和读输出,读一位或读八位,GPIO_ReadInputDataBit,GPIO_ReadInputData,GPIO_ReadOutputDataBit,GPIO_ReadOutputData;

2. 写,写0写1,和SET和RESET,锁定:GPIO_SetBit();GPIO_ResetBit,GPIO_Wirte() GPIO_WriteBit,GPIO_PinLockConfig

- 外部中断,重映射和事件输出配置:GPIO_EXITLineConfig,

#### 重映射功能

- GPIO_PinRemapConfig(GPIO_Remap_SPI1,ENABLE);

- 部分器件映射功能有FULLREMAP和partialRemap区分,只将一部分进行映射

#### 关于中断与事件

- GPIO_EXTILineConfig(GPIOA,GPIO_PIN_8);

- 可以用事件来作为控制AD转换的命令,增加系统的速度。

#### 外部中断的所有函数

- 初始化和去初始化:EXTI_INIT,EXTI_DEINIT,EXTI_STRUCTINIT

- 中断源和清中断: EXTI_ClearITPendingBit

- 状态:EXTI_GetITStatus

##### 三大结构体

- 初始化结构体:某条线,使能,中断模式,触发模式

- 中断:无

- 状态:无

#### GPIO的4种输入和4种输出

- AIN:模拟输入

- IN_FLOATING浮空输入

- IPD,IPU,上拉和下拉

- OUT_OD 开漏输出

- OUT_PP 推挽输出

- AF_OD,AF_PP,复用开漏和复用推挽

总结:

- AIN不解释

- 浮空输入,按键识别,读取高低电平

- 上拉和下拉不解释

- 推挽输出用于驱动更高电压,而AF功能用于片内的其他外设

附件:函数实现了DEBUG信息输出好GRBL的移植编译(未进行功能编译)

http://note.youdao.com/noteshare?id=8049100378e65bb60f1f77efc7ca86f7&sub=199FF33556854407AF7B15943BD3E13B

上一篇下一篇

猜你喜欢

热点阅读