日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于STM32F103C6T6HAL库控制SG90舵机

發布時間:2023/12/16 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于STM32F103C6T6HAL库控制SG90舵机 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

材料:

(1)stm32f103c6t6

(2)舵機

一、組裝

舵機原理:

舵機的控制一般需要一個20ms左右的時基脈沖,該脈沖的高電平部分一般為0.5ms-2.5ms范圍內的角度控制脈沖部分,總間隔為2ms。以180度角度伺服為例,那么對應的控制關系是這樣的:

0.5ms------------0度;
1.0ms-----------45度;
1.5ms----------90度;
2.0ms-----------135度;
2.5ms-----------180度;

?

二、主要程序

1、STM32CUBEMX配置如下:?

(1) 配置RCC時鐘:

(2) 時鐘的配置:

?

(3) 配置定時器PWM

?

三、程序?

main.c

int main(void) {/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_TIM1_Init();MX_TIM2_Init();MX_USART1_UART_Init();/* USER CODE BEGIN 2 */HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);//定時器初始化/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){TIM1->CCR1=250; //20ms有0.5ms高脈沖HAL_Delay(1000);//延時一秒TIM1->CCR1=50; //20ms有2.5ms高脈沖HAL_Delay(1000);//延時一秒/* USER CODE END WHILE *//* USER CODE BEGIN 3 */}/* USER CODE END 3 */ }

?

?

總結

以上是生活随笔為你收集整理的基于STM32F103C6T6HAL库控制SG90舵机的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。