tag 标签: 学习笔记_stm32

相关博文
  • 热度 11
    2016-2-13 22:18
    1264 次阅读|
    0 个评论
    RS232_DMA 通讯程序编写步骤: (1)     建立 DMA 模块 (2)     开启 USART1 的 DMA (3)     DMA参数初始化:DMA_Init (4)        USART1 的 DMA 中断使能: NVIC_EnableIRQ   ( 但是此次 DMA 并未用到中断   因此此步骤可省略。) (5)     启动 DMA : DMA_Cmd (6)     修改 USART1 初始化函数:使能空闲中断和 DMA 接收中断, USART1_ITConfig            USART_DMACmd (7)     修改 USART1 中断函数: 读 UASRT-SR 和 UASRT-DR 寄存器,清除中断标志; 关闭 DMA 通道:获取接收 DMA 接收数据长度 DMA_GetCurrDataCounter; 重新设置缓冲器数据长度; 启动 DMA ; 将接收标志位置 1 ; (8) 在 main 函数中调用 DMA 初始化和判断是否接收到了数据的应用函数。
  • 热度 17
    2016-2-9 19:26
    1206 次阅读|
    1 个评论
    学stm32的过程中,掌握IO口是很重要的基础。这篇博文简单介绍一下stm32的IO口。 一、 IO 口的基本操作 ( 1 ) IO 口模式: GPIO_Mode_IN 输入模式,输入 3.3V或 0V 的 高低电平。例如按键程序就是配置称输入模式 GPIO_Mode_OUT 输出模式,输出 3.3V或 0V 的 高低电平。例如 LED 闪烁程序配置成输出模式。 GPIO_Mode_AF 复用工作模式。例如 I2C , SPI , USART 。 GPIO 就必须配成 AF 模式。   GPIO_Mode_AN 模拟输入模式。例如 ADC 程序必须配置成 AN 模拟量输入模式。 ( 2 )当配置成输出模式或者 AF 模式时,输出类型有两种: GPIO_OType_PP 推挽输出,即可输出高电平,也可以输出低电平。   GPIO_Otype_OD 开漏输出,只能输出低电平。 ( 3 )无论是输入还是输出,都可以配置上下拉类型: GPIO_PuPd_NOPULL 不上下拉 GPIO_PuPd_UP 上拉模式   GPIO_PuPd_DOWN 下拉模式 ( 4 )下面具体看下什么是推挽输出,什么是开漏输出,以及它们的特点。 推挽输出 GPIO_OType_PP 特点:   既可输出高电平,也可以输出低电平。如下图: 当我们将 GPIO 配置成低电平的, Q1 截止, Q2 导通, S2 输出低电平; 当我们将 GPIO 配置成高电平的, Q1 导通, Q2 截止, S2 输出高电平;   其实黑色区域是在单片机的内部,因此它的电流是单片机的电流,所以说它驱动能力是较弱的。 ( 5 )开漏输出 GPIO_OType_PP 的特点: 只能输出低电平,不能输出高电平。 其优点在于: 大电流驱动能力; 电平匹配; 可以实现“线与”功能。 逻辑框图如下 : 当往 IO 写 0 时: S1 为低电平, Q1 截止,因此 Q2 的基极就是 VCC 为高, Q2 导通, S2 输出被拉到 GND ,因此输出低电平。 当往 IO 写 1 时, S2 为高电平, Q1 导通,因此 Q2 的基极被拉到 GND 为低, Q2 截止, S2 输出是不确定的。   因此开漏输出只能输出低电平。 S2 直接从 Q2 的集电极引出,所以呀开漏输出也成为集电极开漏输出。 其实你也可以开漏输出高电平的。那么如何让开漏输出输高电平呢?其实很简单。(这个过渡段好苍白。。。) 只要在开漏的输出加上一个上拉电阻,就可以输出高电平了 (VCC1 是单片机内部电源, VCC2 是外部电源 ) ,流过 R3 的电流是由外部电源提供,所以说这种电流可以提供较大的电流。   例如: VCC1 是 3.3V (开发板), VCC2 是 5v 时 S2 就可以输出 OV 和 5V ,从而实现了电平转换。也就是说开漏输出有电平转换的功能。 开漏输出的应用:线与功能 只有当 S1 , S3 , S5 输入全为高电平时输出才是高电平,当 S1 , S3 , S5 ,中有任意一个为低电平是输出就为低电平。这就是所谓的线与功能。   例如 I2C 总线 各器件的 SDA 和 SCL 都是线“与”关系。 (6) IO 口上下拉 作用: 将不确定的信号通过一个电阻,嵌位在确定电平; 为开漏型电路输出电流通道; 在一定程度上提高系统的抗干扰;   例如串口 RS485 电路的方向控制。 RS485 电路是半双工的收发不能同时进行。