欢迎来到泰骏兴电子,大家有问题可以直接联系管理员QQ:233619809单片机 QQ群:59194556 各位游客也可以注册玩玩,享受更多权益。温馨提示:本网站仅提供平台学习以及渠道,一切后果自行承担,还望广大用户提高自我意识,请不要轻易相信他人,请不要轻易相信他人,请不要轻易相信他人。为了更好的管理论坛工作,所以现在使用邮箱注册,如果以前的邮箱不能修改的,请联系管理员代为修改

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 92|回复: 0

PY32F030K28T6工程模板

[复制链接]
发表于 2023-9-15 16:24:30 | 显示全部楼层 |阅读模式


PY32F030K28T6工程模板
工程模板现象,PA5IO口进行电平翻转




  1. #include "main.h"


  2. static void APP_GpioInit(void);
  3. static void APP_SystemClockConfig(void);

  4. /**
  5.   * @brief  应用程序入口函数.
  6.   * @retval int
  7.   */
  8. int main(void)
  9. {
  10.                         /* 初始化所有外设,Flash接口,SysTick */
  11.                         HAL_Init();
  12.                         /* 配置系统时钟 */
  13.                         APP_SystemClockConfig();
  14.                         /* 初始化PA5 */
  15.                         APP_GpioInit();

  16.                        
  17.                         HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET);//设置IO口为高电平
  18.                         while (1)
  19.         {
  20.                         HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);//翻转IO
  21.                         HAL_Delay(100);                           
  22.         }
  23. }

  24. /**
  25.   * @brief  GPIO初始化
  26.   * @param  无
  27.   * @retval 无
  28.   */
  29. static void APP_GpioInit()
  30. {
  31.                         GPIO_InitTypeDef  GPIO_InitStruct;

  32.                         __HAL_RCC_GPIOA_CLK_ENABLE();                          /* GPIOA时钟使能 */

  33.                         /* 初始化GPIO PA11 */
  34.                         GPIO_InitStruct.Pin = GPIO_PIN_5;
  35.                         GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;            /* 推挽输出 */
  36.                         GPIO_InitStruct.Pull = GPIO_PULLUP;                    /* 使能上拉 */
  37.                         GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;     /* GPIO速度 */

  38.                         HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);                /* GPIO初始化 */
  39. }

  40. /**
  41.   * @brief  时钟配置函数
  42.   * @param  无
  43.   * @retval 无
  44.   */
  45. static void APP_SystemClockConfig(void)
  46. {
  47.                         RCC_OscInitTypeDef RCC_OscInitStruct = {0};
  48.                         RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};

  49.                         /* 配置时钟源HSE/HSI/LSE/LSI */
  50.                         RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE | RCC_OSCILLATORTYPE_HSI | RCC_OSCILLATORTYPE_LSI;
  51.                         RCC_OscInitStruct.HSIState = RCC_HSI_ON;                                                    /* 开启HSI */
  52.                         RCC_OscInitStruct.HSIDiv = RCC_HSI_DIV1;                                                    /* 不分频 */
  53.                         /* RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_4MHz; */                      /* 配置HSI输出时钟为4MHz */
  54.                         /* RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_8MHz; */                      /* 配置HSI输出时钟为8MHz  */
  55.                         /* RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_16MHz; */                     /* 配置HSI输出时钟为16MHz  */
  56.                         /* RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_22p12MHz; */                  /* 配置HSI输出时钟为22.12MHz  */
  57.                         RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_24MHz;                           /* 配置HSI输出时钟为24MHz */

  58.                         if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)                                        /* 初始化RCC振荡器 */
  59.         {
  60.                         APP_ErrorHandler();
  61.         }

  62.                         /* 初始化CPU,AHB,APB总线时钟 */
  63.                         RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1;  /* RCC系统时钟类型 */
  64.                         RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;                                          /* SYSCLK的源选择为HSI */
  65.                         RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;                                              /* APH时钟不分频 */
  66.                         RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;                                               /* APB时钟不分频 */

  67.                         if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK)                         /* 初始化RCC系统时钟(FLASH_LATENCY_0=24M以下;FLASH_LATENCY_1=48M) */
  68.         {
  69.                         APP_ErrorHandler();
  70.         }
  71. }

  72. /**
  73.   * @brief  错误执行函数
  74.   * @param  无
  75.   * @retval 无
  76.   */
  77. void APP_ErrorHandler(void)
  78. {
  79.   while (1)
  80.   {
  81.   }
  82. }

  83. #ifdef  USE_FULL_ASSERT
  84. /**
  85.   * @brief  输出产生断言错误的源文件名及行号
  86.   * @param  file:源文件名指针
  87.   * @param  line:发生断言错误的行号
  88.   * @retval 无
  89.   */
  90. void assert_failed(uint8_t *file, uint32_t line)
  91. {
  92.   /* 用户可以根据需要添加自己的打印信息,
  93.      例如: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
  94.   /* 无限循环 */
  95.   while (1)
  96.   {
  97.   }
  98. }
  99. #endif /* USE_FULL_ASSERT */

  100. /************************ (C) COPYRIGHT Puya *****END OF FILE******************/
复制代码




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|泰骏兴电子科技有限公司 ( 粤ICP备2023060260号-1 ) 单片机爱好者

GMT+8, 2026-1-10 12:08

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表