TIM定時器PWM輸出

tim.c

#include "tim.h"
#include "stm32mp1xx_tim.h"
#include "stm32mp1xx_gpio.h"
#include "stm32mp1xx_rcc.h"//tim4初始化(蜂鳴器)
void tim4_init(){//1.使能GPIOB的外設時鐘RCC->MP_AHB4ENSETR |= (0x1<<1);//使能TIM4的外設時鐘RCC->MP_APB1ENSETR |= (0x1<<2);//2.配置PB6為TIM4的復用功能GPIOB->MODER &= (~(0x3<<12));GPIOB->MODER |= (0x2<<12);//3.GPIOB->AFRL |= (0x02<<24);//4.配置預分配器設置pwm周期TIM4->PSC = 20900-1;//5.配置自動裝載寄存器TIM4->ARR = 10000;//6.配置比較寄存器TIM4->CCR1 = 1000;//配置為PWM輸出模式TIM4->CCMR1 &= (~(0x1<<16));TIM4->CCMR1 &= (~(0x7<<4));TIM4->CCMR1 |= (0x6<<4);TIM4->CCMR1 &= (~0x3);//7.配置預加載使能寄存器TIM4->CCMR1 |= (0x1<<3);//8.配置極性由高到低TIM4->CCER &= (~(0x1<<3));TIM4->CCER &= (~(0x1<<1));   //9.配置tim4通道的輸出使能位TIM4->CCER |= (0x1);//10.配置tim4自動裝載緩沖使能TIM4->CR1 |= (0x1<<7);//11.配置計數器為增計數TIM4->CR1 &= (~(0x3<<5));TIM4->CR1 &= (~(0x1<<4));//13.計數器使能TIM4->CR1 |= (0x1);}//tim1初始化(風扇)
void tim1_init(){//1.使能GPIOE的外設時鐘RCC->MP_AHB4ENSETR |= (0x1<<4);//使能TIM4的外設時鐘RCC->MP_APB2ENSETR |= (0x1);//2.配置PE9為TIM1的復用功能GPIOE->MODER &= (~(0x3<<18));GPIOE->MODER |= (0x2<<18);//3.GPIOE->AFRH &= (~(0xf<<4));GPIOE->AFRH |= (0x1<<4);//4.配置預分配器設置pwm周期TIM1->PSC = 20900-1;//5.配置自動裝載寄存器TIM1->ARR = 10000;//6.配置比較寄存器TIM1->CCR1 = 5000;//配置為PWM輸出模式TIM1->CCMR1 &= (~(0x1<<16));TIM1->CCMR1 &= (~(0x7<<4));TIM1->CCMR1 |= (0x6<<4);TIM1->CCMR1 &= (~0x3);//7.配置預加載使能寄存器TIM1->CCMR1 |= (0x1<<3);//8.配置極性由高到低TIM1->CCER &= (~(0x1<<3));TIM1->CCER &= (~(0x1<<1));//9.配置tim1通道的輸出使能位TIM1->CCER |= (0x1);//10.配置tim1自動裝載緩沖使能TIM1->CR1 |= (0x1<<7);//11.配置計數器為增計數TIM1->CR1 &= (~(0x3<<5));TIM1->CR1 &= (~(0x1<<4));//配置為主模式TIM1->BDTR |= (0x1<<15);//13.計數器使能TIM1->CR1 |= (0x1);}//tim16初始化(震動馬達)
void tim16_init(){//1.使能GPIOF的外設時鐘RCC->MP_AHB4ENSETR |= (0x1<<5);//使能TIM16的外設時鐘RCC->MP_APB2ENSETR |= (0x1<<3);//2.配置PF6為TIM16的復用功能GPIOF->MODER &= (~(0x3<<12));GPIOF->MODER |= (0x2<<12);//3.GPIOF->AFRL &= (~(0xf<<24));GPIOF->AFRL |= (0x1<<24);//4.配置預分配器設置pwm周期TIM16->PSC = 20900-1;//5.配置自動裝載寄存器TIM16->ARR = 10000;//6.配置比較寄存器TIM16->CCR1 = 5000;//配置為PWM輸出模式TIM16->CCMR1 &= (~(0x1<<16));TIM16->CCMR1 &= (~(0x7<<4));TIM16->CCMR1 |= (0x6<<4);TIM1->CCMR1 &= (~0x3);//7.配置預加載使能寄存器TIM16->CCMR1 |= (0x1<<3);//8.配置極性由高到低TIM16->CCER &= (~(0x1<<3));TIM16->CCER &= (~(0x1<<1));//9.配置tim16通道的輸出使能位TIM16->CCER |= (0x1);//10.配置tim16自動裝載緩沖使能TIM16->CR1 |= (0x1<<7);//11.配置計數器為增計數TIM16->CR1 &= (~(0x3<<5));TIM16->CR1 &= (~(0x1<<4));//配置為主模式TIM16->BDTR |= (0x1<<15);//13.計數器使能TIM16->CR1 |= (0x1);}

tim.h

#ifndef __TIM_H__
#define __TIM_H__//tim4初始化
void tim4_init();//tim1初始化
void tim1_init();//tim16初始化
void tim16_init();#endif

main.c

#include "gpio.h"
#include "led.h"
#include "uart4.h"
#include "keyip.h"
#include "iic.h"
#include "si7006.h"
#include "ap3216c.h"
#include "spi.h"
#include "tim.h"int main()
{tim4_init();tim1_init();tim16_init();while (1){}return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/17276.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/17276.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/17276.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

辦公必備!一鍵拆分文件,效率翻倍的秘密

需求介紹 1、我有一張數據表“測試數據.xlsx” 2、我要根據A1“COUNTY_CODE”分類拆分成幾張數據表&#xff08;這里從9657到9658共12類&#xff0c;就是拆分成12張數據表&#xff09; 3、根據12個分類&#xff0c;發送數據郵件給對應的收件人 4、收件人及抄送人、共同抄送人…

Appium系列(2)元素定位工具appium-inspector

背景 如實現移動端自動化&#xff0c;依賴任何工具時&#xff0c;都需要針對于頁面中的元素進行識別&#xff0c;通過識別到指定的元素&#xff0c;對元素進行事件操作。 識別元素的工具為appium官網提供的appium-inspector。 appium-inspector下載地址 我這里是mac電腦需要下…

基于Cloudflare/CloudDNS/GitHub使用免費域名部署NewBing的AI服務

部署前準備&#xff1a; Cloudflare 賬號 https://dash.cloudflare.com/login CloudDNS 賬號 https://www.cloudns.net/ GitHub 賬號 https://github.com/Harry-zklcdc/go-proxy-bingai Cloudflare 部署 Worker CloudDNS 獲取免費二級域名 GitHub New Bing Ai 項目 https://git…

揭秘黃金分割數列:斐波那契數列的奇妙之旅

新書上架~&#x1f447;全國包郵奧~ python實用小工具開發教程http://pythontoolsteach.com/3 歡迎關注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目錄 一、黃金分割數列——斐波那契數列的簡介 二、實現斐波那契數列的函數 三、斐波那契數列在…

前端開發之xlsx的使用和實例,并導出多個sheet

前端開發之xlsx的使用和實例 前言效果圖1、安裝2、在頁面中引用3、封裝工具類&#xff08;excel.js&#xff09;4、在vue中使用 前言 在實現業務功能中導出是必不可少的功能&#xff0c;接下來為大家演示在導出xlsx的時候的操作 效果圖 1、安裝 npm install xlsx -S npm inst…

Discuz!X3.4論壇網站公安備案號怎樣放到網站底部?

Discuz&#xff01;網站的工信部備案號都知道在后臺——全局——站點信息——網站備案信息代碼填寫&#xff0c;那公安備案號要添加在哪里呢&#xff1f;并沒有看到公安備案號填寫欄&#xff0c;今天馳網飛飛和你分享 1&#xff09;工信部備案號和公安備案號統一填寫到網站備案…

數據預處理

數據預處理 引入一.配置java , hadoop , maven的window本機環境變量1.配置2.測試是否配置成功 二.創建一個Maven項目三.導入hadoop依賴四.數據清洗1.數據清洗的java代碼2.查看數據清洗后的輸出結果 引入 做數據預處理 需要具備的條件 : java,hadoop,maven環境以及idea軟件 一…

斯坦福2024人工智能指數報告 2

《人工智能指數報告》由斯坦福大學、AI指數指導委員會及業內眾多大佬Raymond Perrault、Erik Brynjolfsson 、James Manyika、Jack Clark等人員和組織合著&#xff0c;旨在追蹤、整理、提煉并可視化與人工智能&#xff08;AI&#xff09;相關各類數據&#xff0c;該報告已被大多…

靜態網站部署指南

一、資源準備 1.1 服務器 # 當前的服務器,公網ip:127.0.0.1 # 通過ssh協議連接訪問服務器1.2 域名 目前個人擁有的域名有: 域名所有者有效期wujinet.top個人2029-04-151.3 網站代碼 純靜態網站,網站源碼由筆者自行開發并提供發布部署的技術支持。 二、技術棧 2.0 源碼…

linux部署rustdesk

1.拉取RustDesk鏡像 sudo docker image pull rustdesk/rustdesk-server2.啟動hbbs服務 sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v pwd:/root -td --nethost rustdesk/rustdesk-server hbbs3.啟動hbbr服務 sudo dock…

spring boot 之 結合aop整合日志

AOP 該切面僅用于請求日志記錄&#xff0c;若有其他需求&#xff0c;在此基礎上擴展即可&#xff0c;不多逼逼&#xff0c;直接上代碼。 引入切面依賴 <!-- 切面 --> <dependency><groupId>org.springframework.boot</groupId><artifactId>sp…

【C++】set與map

目錄 一、鍵值對 二、set 1. set的模板參數列表 2. set的構造 3. set的迭代器 4. set的容量 5. set的修改 6. set的查找 三、map 1. map的模板參數列表 2. map的構造 3. map的迭代器 4. map的容量 5. map的修改 6. map的查找 一、鍵值對 用來表示具有一一對應關…

SARscape5.7已經支持3米陸探一號(LT-1)數據處理

SARsacpe5.6.2.1版本已經開始支持LT-1的數據處理&#xff0c;由于當時只獲取了12米的條帶模式2&#xff08;STRIP2&#xff09;例子數據&#xff0c;對3米條帶模式1&#xff08;STRIP1&#xff09;數據的InSAR處理軌道誤差挺大&#xff0c;可能會造成干涉圖異常。 SARsacpe5.7最…

三十篇:動脈脈搏:企業業務處理系統的生命力

動脈脈搏&#xff1a;企業業務處理系統的生命力 1. 引言 在數字經濟的浪潮下&#xff0c;企業之間的競爭已不僅僅是產品和服務的競爭&#xff0c;更是信息處理能力的競爭。業務處理系統&#xff08;Transaction Processing System, TPS&#xff09;是企業信息系統架構的基礎&a…

Python3 筆記:Python之禪

打開Python Shell&#xff0c;輸入import this&#xff0c;按回車鍵運行程序。 Beautiful is better than ugly. 優雅勝于丑陋。 Explicit is better than implicit. 明確勝于含糊。 Simple is better than complex. 簡單勝于復雜。

圖形學初識--紋理采樣和Wrap方式

文章目錄 前言正文1、為什么需要紋理采樣&#xff1f;2、什么是紋理采樣&#xff1f;3、如何進行紋理采樣&#xff1f;&#xff08;1&#xff09;假設繪制區域為矩形&#xff08;2&#xff09;假設繪制區域為三角形 4、什么是紋理的Wrap方式&#xff1f;5、有哪些紋理的Wrap方式…

洪師傅代駕系統開發 支持公眾號H5小程序APP 后端Java源碼

代駕流程圖 業務流程圖 管理端設置 1、首頁裝修 2、師傅獎勵配置 師傅注冊后,可享受后臺設置的新師傅可得的額外獎勵; 例:A注冊了師傅,新人獎勵可享受3天,第一天的第一筆訂單完成后可得正常傭金傭金*獎勵比例 完成第二筆/第三筆后依次可得正常傭金傭金*獎勵比例 完成的第四…

牛客NC166 連續子數組的最大和(二)【中等 前綴和數組+動態規劃 Java/Go/PHP/C++】

題目 題目鏈接&#xff1a; https://www.nowcoder.com/practice/11662ff51a714bbd8de809a89c481e21 思路 前綴和數組動態規劃Java代碼 import java.util.*;public class Solution {/*** 代碼中的類名、方法名、參數名已經指定&#xff0c;請勿修改&#xff0c;直接返回方法規…

小短片創作-優化場景并輸出短片(二)

1、什么是潮濕感 什么是潮濕感&#xff1a;基礎顏色變化粗糙度變化表面滲入性 1.基礎顏色變化&#xff1a;潮濕的地方顏色會變深 2.粗糙度變化&#xff1a;鏡面粗糙度為0&#xff0c;潮濕的地方粗糙度會變低 3.表面滲入性&#xff1a;主要看材質是否防水 2、調整場景材質增…

小抄 20240526

1 一些人焦慮的原因&#xff0c;可能是他也知道自己做的事無意義&#xff0c;但是又停不下來&#xff0c;于是一直在做無用功&#xff0c;空耗精神力量。 可以試著去做一些熱愛的、有價值的事情&#xff0c;焦慮就會慢慢消失。 2 人們看歷史的時候&#xff0c;很容易把自己代…