用户工具

站点工具


icore3l_arm_2

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
icore3l_arm_2 [2020/11/11 17:55]
zgf
icore3l_arm_2 [2022/03/19 10:56] (当前版本)
sean
行 2: 行 2:
 |技术支持电话|**0379-69926675-801** ​ ||| |技术支持电话|**0379-69926675-801** ​ |||
 |技术支持邮件|Gingko@vip.163.com ​ ||| |技术支持邮件|Gingko@vip.163.com ​ |||
-|技术论坛|http://​www.eeschool.org ​ ||| 
 ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^ ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^
 |  V0.1  |2020-11-11 ​ |  gingko ​ |  初次建立 ​ | |  V0.1  |2020-11-11 ​ |  gingko ​ |  初次建立 ​ |
行 68: 行 67:
   * **推挽输出:**推挽输出可以输出高、低电平,连接数字器件;推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。   * **推挽输出:**推挽输出可以输出高、低电平,连接数字器件;推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。
   * **开漏复用输出:**GPIO的基本功能是普通的I/​O,而STM32有自己的各个功能模块,这些内置外设的外部引脚是与标准GPIO复用的,当作为这些模块的功能引脚时就叫复用。开漏复用输出功能模式与开漏输出模式相比,不同的是输出控制电路的输入,是和片上外设的输出信号相连即与复用功能的输出端相连,此时,输出数据寄存器在输出通道被断开。   * **开漏复用输出:**GPIO的基本功能是普通的I/​O,而STM32有自己的各个功能模块,这些内置外设的外部引脚是与标准GPIO复用的,当作为这些模块的功能引脚时就叫复用。开漏复用输出功能模式与开漏输出模式相比,不同的是输出控制电路的输入,是和片上外设的输出信号相连即与复用功能的输出端相连,此时,输出数据寄存器在输出通道被断开。
-  * 推挽复用输出:推挽复用输出功能模式与推挽输出模式相比,不同的是输出控制电路的输入,是和片上外设的输出信号相连,即与复用功能的输出端相连,而输出数据寄存器在输出通道被断开。+  ​* **推挽复用输出:**推挽复用输出功能模式与推挽输出模式相比,不同的是输出控制电路的输入,是和片上外设的输出信号相连,即与复用功能的输出端相连,而输出数据寄存器在输出通道被断开。
 本实验通过STM32的GPIO口驱动LED,设定GPIO为推挽输出模式。输出低电平LED亮,输出高电平LED灭。驱动原理图如下图所示。 本实验通过STM32的GPIO口驱动LED,设定GPIO为推挽输出模式。输出低电平LED亮,输出高电平LED灭。驱动原理图如下图所示。
 {{ :​icore3l:​icore3l_arm_hal_2_1.png?​direct |}} {{ :​icore3l:​icore3l_arm_hal_2_1.png?​direct |}}
行 82: 行 81:
   while (1)   while (1)
   {   {
-    //​三色LED循环闪烁 +     ​//​三色LED循环闪烁 
-  LED_RED_ON; ​  +     ​LED_RED_ON; ​  
-  LED_BLUE_OFF; ​  +     ​LED_BLUE_OFF; ​  
-  LED_GREEN_OFF; ​  +     ​LED_GREEN_OFF; ​  
-        HAL_Delay(500); ​ //​延时500ms +     ​HAL_Delay(500); ​ //​延时500ms 
-  LED_RED_OFF; ​  +     ​LED_RED_OFF; ​  
-        LED_BLUE_ON; ​  +     ​LED_BLUE_ON; ​  
-        LED_GREEN_OFF; ​  +     ​LED_GREEN_OFF; ​  
-        HAL_Delay(500); ​  +     ​HAL_Delay(500); ​  
-        LED_RED_OFF; ​  +     ​LED_RED_OFF; ​  
-        LED_BLUE_OFF; ​  +     ​LED_BLUE_OFF; ​  
-        LED_GREEN_ON; ​  +     ​LED_GREEN_ON; ​  
-        HAL_Delay(500);​+     ​HAL_Delay(500);​
   }   }
 } }
行 106: 行 105:
   __HAL_RCC_GPIOA_CLK_ENABLE();​   __HAL_RCC_GPIOA_CLK_ENABLE();​
   __HAL_RCC_GPIOI_CLK_ENABLE();​   __HAL_RCC_GPIOI_CLK_ENABLE();​
-  __HAL_RCC_GPIOH_CLK_ENABLE();//​GPIOA、GPIOI和GPIOH端口时钟使能+  __HAL_RCC_GPIOH_CLK_ENABLE(); ​                        ​//​GPIOA、GPIOI和GPIOH端口时钟使能
  
   HAL_GPIO_WritePin(GPIOI,​ LED_GREEN_Pin|LED_RED_Pin,​ GPIO_PIN_SET);​   HAL_GPIO_WritePin(GPIOI,​ LED_GREEN_Pin|LED_RED_Pin,​ GPIO_PIN_SET);​
-  HAL_GPIO_WritePin(LED_BLUE_GPIO_Port,​ LED_BLUE_Pin,​ GPIO_PIN_SET);//​PH14接蓝色LED灯,PH14置高电平,蓝灯熄灭 +  HAL_GPIO_WritePin(LED_BLUE_GPIO_Port,​ LED_BLUE_Pin,​ GPIO_PIN_SET); ​ //​PH14接蓝色LED灯,PH14置高电平,蓝灯熄灭 
  
-  GPIO_InitStruct.Pin = LED_GREEN_Pin|LED_RED_Pin;//​设置连接红绿LED灯的IO端口 +  GPIO_InitStruct.Pin = LED_GREEN_Pin|LED_RED_Pin; ​      ​//​设置连接红绿LED灯的IO端口 
-  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;//​输出类型为推挽输出 +  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; ​           //​输出类型为推挽输出 
-  GPIO_InitStruct.Pull = GPIO_PULLUP;//​上拉输出 +  GPIO_InitStruct.Pull = GPIO_PULLUP; ​                   //​上拉输出 
-  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;//​设置I/​O输出速率+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; ​    ​//​设置I/​O输出速率
   HAL_GPIO_Init(GPIOI,​ &​GPIO_InitStruct);​   HAL_GPIO_Init(GPIOI,​ &​GPIO_InitStruct);​
  
-  GPIO_InitStruct.Pin = LED_BLUE_Pin;//​设置连接蓝色LED灯的IO端口 +  GPIO_InitStruct.Pin = LED_BLUE_Pin; ​                   //​设置连接蓝色LED灯的IO端口 
-  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;//​输出类型为推挽输出 +  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; ​           //​输出类型为推挽输出 
-  GPIO_InitStruct.Pull = GPIO_PULLUP;//​上拉输出 +  GPIO_InitStruct.Pull = GPIO_PULLUP; ​                   //​上拉输出 
-  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;//​设置I/​O输出速率+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; ​    ​//​设置I/​O输出速率
   HAL_GPIO_Init(LED_BLUE_GPIO_Port,​ &​GPIO_InitStruct);​   HAL_GPIO_Init(LED_BLUE_GPIO_Port,​ &​GPIO_InitStruct);​
 } }
icore3l_arm_2.1605088544.txt.gz · 最后更改: 2020/11/11 17:55 由 zgf