找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1881|回复: 3
收起左侧

基于stm32F103的pwm源码

[复制链接]
ID:297663 发表于 2018-3-27 10:45 | 显示全部楼层 |阅读模式
基于stm32F103的pwm源码

单片机源程序如下:
  1. /**
  2. ************************************************************
  3. * @file         main.c
  4. * @brief        MCU版 入口文件
  5. * @author       Gizwits
  6. * @date         2016-09-05
  7. * @version      V03010101
  8. * @copyright    Gizwits
  9. *
  10. * @note         机智云.只为智能硬件而生
  11. *               Gizwits Smart Cloud  for Smart Products
  12. *               链接|增值ֵ|开放|中立|安全|自有|自由|生态
  13. *               www.gizwits.com
  14. *
  15. ***********************************************************/

  16. #include <string.h>
  17. #include "Hal_key/hal_key.h"
  18. #include "Hal_Usart/hal_uart.h"
  19. #include "Hal_Watchdog/hal_watchdog.h"
  20. #include "gizwits_protocol.h"

  21. /** 用户区当前设备状态结构体*/
  22. dataPoint_t currentDataPoint;

  23. /**@name 按键相关定义
  24. * @{
  25. */
  26. #define GPIO_KEY_NUM 2                                  ///< 定义按键成员总数
  27. keyTypedef_t singleKey[GPIO_KEY_NUM];                   ///< 定义单个按键成员数组指针
  28. keysTypedef_t keys;                                     ///< 定义总的按键模块结构体指针
  29. /**@} */

  30. /**
  31. * 用户初始化函数

  32. * 在该函数中完成了外设驱动初始化以及用户相关数据的初始
  33. * @param none
  34. * @return none
  35. * @note 开发者可在此函数内添加新的驱动初始及状态初始化
  36. */
  37. void userInit(void)
  38. {
  39.     uartxInit();        //printf打印串口初始化
  40.     watchdogInit(2);    //看门狗复位时间2s
  41.     memset((uint8_t*)¤tDataPoint, 0, sizeof(dataPoint_t));
  42. }

  43. /**
  44. * 用户数据获取

  45. * 此处需要用户实现除可写数据点之外所有传感器数据的采集,可自行定义采集频率和设计数据过滤算法
  46. * @param none
  47. * @return none
  48. */

  49. void userHandle(void)
  50. {
  51.             /*

  52.     */
  53. }

  54. /**
  55. * key1按键短按处理
  56. * @param none
  57. * @return none
  58. */
  59. void key1ShortPress(void)
  60. {
  61.                 //AirLink mode
  62.                 printf("KEY1 PRESS ,Wifi AirLink\n");
  63.                 gizwitsSetMode(WIFI_AIRLINK_MODE);
  64. }

  65. /**
  66. * key1按键长按处理
  67. * @param none
  68. * @return none
  69. */
  70. void key1LongPress(void)
  71. {
  72.     printf("KEY1 PRESS LONG ,Wifi Reset\n");
  73.     gizwitsSetMode(WIFI_RESET_MODE);

  74. }

  75. /**
  76. * key2按键短按处理
  77. * @param none
  78. * @return none
  79. */
  80. void key2ShortPress(void)
  81. {
  82.     printf("KEY2 PRESS ,Soft AP mode\n");
  83.     gizwitsSetMode(WIFI_SOFTAP_MODE);
  84. }

  85. /**
  86. * key2按键长按处理
  87. * @param none
  88. * @return none
  89. */
  90. void key2LongPress(void)
  91. {
  92.     //AirLink mode
  93.     printf("KEY2 PRESS LONG ,AirLink mode\n");
  94.     gizwitsSetMode(WIFI_AIRLINK_MODE);
  95. }

  96. /**
  97. * 按键初始化
  98. * @param none
  99. * @return none
  100. */
  101. void keyInit(void)
  102. {
  103.     singleKey[0] = keyInitOne(RCC_APB2Periph_GPIOC, GPIOC, GPIO_Pin_13, key1ShortPress, key1LongPress);
  104.     singleKey[1] = keyInitOne(RCC_APB2Periph_GPIOA, GPIOA, GPIO_Pin_8, key2ShortPress, key2LongPress);
  105.     keys.singleKey = (keyTypedef_t *)&singleKey;
  106.     keyParaInit(&keys);
  107. }

  108. /**
  109. * @brief程序入口函数

  110. * 在该函数中完成用户相关的初始化,及主逻辑循环
  111. * @param none
  112. * @return none
  113. */
  114. int main(void)
  115. {
  116.     SystemInit();
  117.    
  118.     userInit();
  119.     keyInit();

  120.     timerInit();
  121.     uartInit();
  122.                 motorInit();
  123.     gizwitsInit();
  124.    
  125.     printf("MCU Init Success \n");
  126.     while(1)
  127.     {
  128.         watchdogFeed();
  129.         
  130.         userHandle();
  131.         
  132.         gizwitsHandle((dataPoint_t *)¤tDataPoint);
  133.     }
  134. }
复制代码

所有资料51hei提供下载:
GizwitsMCUSTM32F103C8x201706130809184111c26370.zip (6.74 MB, 下载次数: 20)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:289512 发表于 2018-3-31 09:13 | 显示全部楼层
谢谢分享,下来学习。。。
回复

使用道具 举报

ID:300040 发表于 2018-3-31 18:57 | 显示全部楼层
谢谢分享  想请问一下  这个程序可以用于PWM充电控制嘛
回复

使用道具 举报

ID:376358 发表于 2019-7-17 16:20 | 显示全部楼层
感觉不错
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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