你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 908|回复: 1

[STM32L432] NUCLEO-L432KC程序初试及分析

[复制链接]

17

主题

428

回帖

27

蝴蝶豆

论坛元老

最后登录
2020-12-9
发表于 2016-8-7 19:11:12 | 显示全部楼层 |阅读模式
本帖最后由 原来的你 于 2016-8-7 20:31 编辑

int main(void)
{
  /* This sample code shows how to use GPIO HAL API to toggle LED3 IO
    in an infinite loop. */

  /* STM32L4xx HAL library initialization:
       - Configure the Flash prefetch
       - Systick timer is configured by default as source of time base, but user
         can eventually implement his proper time base source (a general purpose
         timer for example or other time source), keeping in mind that Time base
         duration should be kept 1ms since PPP_TIMEOUT_VALUEs are defined and
         handled in milliseconds basis.
       - Set NVIC Group Priority to 4
       - Low Level Initialization
     */
  HAL_Init();

  /* Configure the system clock to 80 MHz */
  SystemClock_Config();

  /* -1- Enable GPIO Clock (to be able to program the configuration registers) */
  LED3_GPIO_CLK_ENABLE();

  /* -2- Configure IO in output push-pull mode to drive external LEDs */
  GPIO_InitStruct.Mode  = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull  = GPIO_PULLUP;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;

  GPIO_InitStruct.Pin = LED3_PIN;
  HAL_GPIO_Init(LED3_GPIO_PORT, &GPIO_InitStruct);

  /* -3- Toggle IO in an infinite loop */
  while (1)
  {
    HAL_GPIO_TogglePin(LED3_GPIO_PORT, LED3_PIN);
    /* Insert delay 100 ms */
    HAL_Delay(100);
  }
}
先附上官方的GPIO程序,一般来说对于一个单片机来说,我们最新接触就是用GPIO点个灯,这个我也一样,先看下官方的GPIO程序,官方是用HAL库,跟以前的标准库不一样,新的芯片都只有HAL,这是趋势,幸好我对ST特别熟悉,早就把HAL玩熟练了,所以上手也是很容易,先分析一下程序的逻辑。
HAL_Init();//使用HAL开始必要的初始化函数;
SystemClock_Config();//系统时钟配置函数,把系统时钟配置到最高80MHz;
LED3_GPIO_CLK_ENABLE();//使能驱动LED3的IO口时钟;
GPIO_InitStruct.Mode  = GPIO_MODE_OUTPUT_PP;//IO口作输出
GPIO_InitStruct.Pull  = GPIO_PULLUP;//IO口上拉
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;//IO口输出速度为最高
GPIO_InitStruct.Pin = LED3_PIN;//选择GPIO引脚序号
HAL_GPIO_Init(LED3_GPIO_PORT, &GPIO_InitStruct);//初始化GPIO引脚

HAL_GPIO_TogglePin(LED3_GPIO_PORT, LED3_PIN);//翻转IO口电平
HAL_Delay(100);//延时100ms

先简单分析下GPIO的程序,大家可以跟着官方程序学习,后面会继续介绍各个自己在实际工程使用的程序细节分析
回复

使用道具 举报

7

主题

196

回帖

0

蝴蝶豆

高级会员

最后登录
2019-9-16
发表于 2016-8-7 22:41:05 | 显示全部楼层
朋友你好,弱弱的问下,能给个上面官网代码的下载地址么。十分感谢!
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版