找回密码
 立即注册

QQ登录

只需一步,快速开始

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

STM32超声波程序 连PA4,PA6

[复制链接]
ID:299930 发表于 2019-4-25 19:12 | 显示全部楼层 |阅读模式
亲测可用
连PA4,PA6

单片机源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "key.h"
  4. #include "sys.h"
  5. #include "usart.h"
  6. #include "exti.h"
  7. #include "beep.h"
  8. #include "timer.h"
  9. #include "wave.h"
  10. #include "FreeRTOS.h"
  11. #include "task.h"




  12. //任务优先级
  13. #define START_TASK_PRIO                1
  14. //任务堆栈大小       
  15. #define START_STK_SIZE                 128  
  16. //任务句柄
  17. TaskHandle_t StartTask_Handler;
  18. //任务函数
  19. void start_task(void *pvParameters);

  20. //任务优先级
  21. #define TASK1_TASK_PRIO                2
  22. //任务堆栈大小       
  23. #define TASK1_STK_SIZE                 128  
  24. //任务句柄
  25. TaskHandle_t Task1Task_Handler;
  26. //任务函数
  27. void task1_task(void *pvParameters);


  28. int main(void)
  29. {
  30.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);//设置系统中断优先级分组4         
  31.         delay_init();                                            //延时函数初始化         
  32.         uart_init(115200);                                        //初始化串口
  33.         LED_Init();                                                          //初始化LED
  34.         KEY_Init();
  35.         //创建开始任务
  36.     xTaskCreate((TaskFunction_t )start_task,            //任务函数
  37.                 (const char*    )"start_task",          //任务名称
  38.                 (uint16_t       )START_STK_SIZE,        //任务堆栈大小
  39.                 (void*          )NULL,                  //传递给任务函数的参数
  40.                 (UBaseType_t    )START_TASK_PRIO,       //任务优先级
  41.                 (TaskHandle_t*  )&StartTask_Handler);   //任务句柄              
  42.     vTaskStartScheduler();          //开启任务调度
  43. }

  44. //开始任务任务函数
  45. void start_task(void *pvParameters)
  46. {
  47.     taskENTER_CRITICAL();           //进入临界区
  48.     //创建TASK1任务
  49.     xTaskCreate((TaskFunction_t )task1_task,            
  50.                 (const char*    )"task1_task",           
  51.                 (uint16_t       )TASK1_STK_SIZE,        
  52.                 (void*          )NULL,                  
  53.                 (UBaseType_t    )TASK1_TASK_PRIO,        
  54.                 (TaskHandle_t*  )&Task1Task_Handler);   

  55.   vTaskDelete(StartTask_Handler); //删除开始任务
  56.     taskEXIT_CRITICAL();            //退出临界区
  57. }

  58. //task1任务函数
  59. void task1_task(void *pvParameters)
  60. {
  61.         delay_init();                     //延时函数初始化          
  62.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
  63.         uart_init(115200);         //串口初始化为115200
  64.         LED_Init();                                  //初始化与LED连接的硬件接口
  65.         BEEP_Init();                 //初始化蜂鸣器端口
  66.         KEY_Init();                 //初始化与按键连接的硬件接口
  67.         //EXTIX_Init();                         //外部中断初始化
  68.         //LED0=0;                                        //点亮LED0
  69.         Timer_SRD_Init(5000,7199);
  70.         Wave_SRD_Init();
  71.          
  72.         while(1)
  73.         {            
  74.                 Wave_SRD_Strat();       
  75.         LED1=!LED1;
  76.         delay_ms(2000);
  77.                
  78.         }

  79. }







  80. //        delay_init();                     //延时函数初始化          
  81. //        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
  82. //        uart_init(115200);         //串口初始化为115200
  83. //         LED_Init();                                  //初始化与LED连接的硬件接口
  84. //        BEEP_Init();                 //初始化蜂鸣器端口
  85. //        KEY_Init();                 //初始化与按键连接的硬件接口
  86. //        //EXTIX_Init();                         //外部中断初始化
  87. //        //LED0=0;                                        //点亮LED0
  88. //        Timer_SRD_Init(5000,7199);
  89. //        Wave_SRD_Init();
  90. //         
  91. //        while(1)
  92. //        {            
  93. //                Wave_SRD_Strat();       
  94. //        LED1=!LED1;
  95. //        delay_ms(2000);
  96. //               
  97. //        }
复制代码

所有资料51hei提供下载:
超声波模块程序_STM32F103ZET6.7z (333.47 KB, 下载次数: 41)
回复

使用道具 举报

ID:1 发表于 2019-4-27 03:25 | 显示全部楼层
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
回复

使用道具 举报

ID:430308 发表于 2019-11-23 09:49 | 显示全部楼层
厉害了,正在学习
回复

使用道具 举报

ID:699194 发表于 2020-4-29 00:11 | 显示全部楼层
怎么搞,竟然是错误的程序
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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