MSPM0G3507——定時器例程講解4——timx_timer_mode_periodic

以下示例以周期模式配置TimerG并切換LED。周期從500ms開始,每次切換減少50ms,直到周期為100ms,然后重復。設備在等待中斷時保持待機模式


#include "ti_msp_dl_config.h"/* ((32KHz / (32+1)) * 0.5s) = 45 - 1 = 495 due to N+1 ticks */
#define TIMER_500_MILLISECONDS_TICKS (495)                                  //算出定時0.5秒所需要的定時器循環次數
/* ((32KHz / (32+1)) * 0.05s) = 50 */
#define TIMER_50_MILLISECONDS_TICKS (50)                                    //算出定時0.5秒所需要的循環次數int main(void)
{SYSCFG_DL_init();NVIC_EnableIRQ(TIMER_0_INST_INT_IRQN);DL_SYSCTL_enableSleepOnExit();DL_TimerG_startCounter(TIMER_0_INST);while (1) {__WFI();}
}void TIMER_0_INST_IRQHandler(void)
{static uint32_t count = TIMER_500_MILLISECONDS_TICKS;switch (DL_TimerG_getPendingInterrupt(TIMER_0_INST)) {case DL_TIMER_IIDX_ZERO:/** Counter stopped to avoid a conflict with the timer reading* the LOAD value while it's being set*/DL_TimerG_stopCounter(TIMER_0_INST);/** Count progressively gets smaller in 0.05 s increments until* reset with 0.5s*/if (count > (TIMER_500_MILLISECONDS_TICKS / 5)) {count = count - TIMER_50_MILLISECONDS_TICKS;} else {count = TIMER_500_MILLISECONDS_TICKS;}DL_Timer_setLoadValue(TIMER_0_INST, count);                             //設置定時周期/** By default, this should load the new count value and count down* from there (CVAE = 0)*/DL_TimerG_startCounter(TIMER_0_INST);DL_GPIO_togglePins(GPIO_LEDS_PORT,(GPIO_LEDS_USER_LED_1_PIN | GPIO_LEDS_USER_TEST_PIN));break;default:break;}
}

用到一個DL_Timer_setLoadValue(TIMER_0_INST, count); ?

用來設置定時器定時周期

用法如下

? ? ? ? ? ? ?

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

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

相關文章

MySQL入門學習-MySQL日志.錯誤日志

錯誤日志是 MySQL 中一種記錄服務器運行過程中錯誤信息的日志文件。它可以幫助管理員或開發人員快速定位和解決問題。 一、MySQL 中的錯誤日志具有以下特點: - 記錄錯誤信息: 錯誤日志主要記錄服務器在運行過程中發生的錯誤信息,包括但不限…

【算法 之選擇排序 原理及案例】

選擇排序(Selection Sort) 是一種簡單直觀的排序算法。它的工作原理是:首先在未排序序列中找到最小(或最大)元素,存放到排序序列的起始位置,然后,再從剩余未排序元素中繼續尋找最小…

Memcached的API使用指南:常用操作與示例代碼

Memcached 是一個高性能、分布式內存對象緩存系統,常用于加速動態Web應用程序,減輕數據庫負載。本文將介紹如何使用Memcached的API進行常用操作,并提供示例代碼。 1. 安裝Memcached客戶端庫 在使用Memcached之前,需要安裝相應的…

Qt中用QLabel創建狀態燈

首先ui設計中分別創建了4個大燈和4個小燈。 編輯.h文件 #ifndef LED_H #define LED_H#include <QWidget> #include <QLabel>QT_BEGIN_NAMESPACE namespace Ui { class Led; } QT_END_NAMESPACEclass Led : public QWidget {Q_OBJECTpublic:Led(QWidget *parent n…

Spring MVC數據綁定和響應——復雜數據綁定(四)JSON數據綁定

一、消息轉換器—HttpMessageConverter接口 客戶端不同的請求&#xff0c;HttpServletRequest中數據的MediaType可能會不同&#xff0c;如果想將HttpServletRequest中的數據轉換成指定對象&#xff0c;或者將對象轉換成指定格式的數據&#xff0c;就需要使用對應的消息轉換器來…

服務器硬件以及RAID配置

目錄 一、RAID磁盤陣列原理&#xff08;嘎嘎重要&#xff09; 1、RAID的概述 2、常用的RAID 2.1、RAID 0 2.2、RAID 1 2.3、RAID 5 2.5、RAID 10 3、陣列卡介紹 二、建立軟件RAID磁盤陣列 1、添加硬盤 2、使用fdisk分區&#xff0c;類型為fd 3、mdata命令使用參數 …

安全與加密常識(3)什么是數字簽名和數字證書

文章目錄 數字簽名工作原理關鍵特點應用實例 數字證書數字證書和數字簽名趣味實例 數字簽名 數字簽名是一種通過密碼運算生成的數據&#xff0c;用于驗證信息的完整性和來源&#xff0c;確保數據在傳輸過程中未被篡改&#xff0c;同時提供發送者的身份認證和防止抵賴的功能。它…

Qt: QPushButton 按鈕實現 上圖標下文字

效果如下&#xff1a; 實現有如下幾種方式&#xff1a; 1. 使用 QPushButton 設置 setStyleSheet 例&#xff1a; ui->recorder->setStyleSheet("QPushButton{"\"border: 1px solid #00d2ff; "\"min-height: 60px; "\"col…

python多繼承的3C算法

python多繼承的3C算法 有很多地方都說python多繼承的繼承順序&#xff0c;是按照深度遍歷的方式&#xff0c;其實python多繼承順序的算法&#xff0c;不是嚴格意義上的深度遍歷&#xff0c;而是基于深度遍歷基礎上優化出一種叫3C算法 python多繼承的深度遍歷 class C:def ru…

MySQL高級-MVCC-原理分析(RR級別)

文章目錄 1、RR隔離級別下&#xff0c;僅在事務中第一次執行快照讀時生成ReadView&#xff0c;后續復用該ReadView2、總結 1、RR隔離級別下&#xff0c;僅在事務中第一次執行快照讀時生成ReadView&#xff0c;后續復用該ReadView 而RR 是可重復讀&#xff0c;在一個事務中&…

Django 配置靜態文件

1&#xff0c;DebugTrue 調試模式 Test/Test/settings.py DEBUG True...STATICFILES_DIRS [os.path.join(BASE_DIR, static),] STATIC_URL /static/ 1.1 創建靜態文件 Test/static/6/images/Sni1.png 1.2 添加視圖函數 Test/app6/views.py from django.shortcuts impor…

uniapp,uni-fab組件拖動屬性,替代方案

文章目錄 1. 背景2. 替代方案2.1 方案一2.2 方案二 參考 1. 背景 最近基于uniapp開發一款設備參數調試的APP軟件&#xff0c;其中有使用到懸浮按鈕&#xff0c;快速開發階段&#xff0c;為了能盡快上線&#xff0c;直接使用了uni-ui的擴展組件uni-fab&#xff0c;參考【1】&am…

C++ 設計模式之迭代器模式

C 設計模式之迭代器模式 簡介 1、迭代器模式&#xff08;Iterator&#xff09;是一種行為型設計模式&#xff0c;它允許我們順序訪問一個聚合對象中的各個元素&#xff0c;而又不暴露該對象的內部表示。迭代器模式提供了一種方法來遍歷容器&#xff08;容器對象&#xff0c;如…

Configure C/C++ debugging

Configure C/C debugging launch.json 文件用于在 Visual Studio Code 中配置調試器。 Visual Studio Code 會生成一個 launch.json (位于項目的 .vscode 文件夾下),其中幾乎包含了所有必需的信息。要開始調試,您需要填寫 program 字段,指定要調試的可執行文件的路徑。這必須…

如何通過流式渲染提升用戶體驗?

什么是流式渲染&#xff1f; 流式渲染的核心理念是將 HTML 文檔分割成小塊&#xff08;chunk&#xff09;&#xff0c;并逐步地發送給客戶端&#xff0c;而非等待整個頁面完整生成后再進行傳輸。這種方式能夠極大地提升用戶的初始加載體驗&#xff0c;特別是在網絡條件不佳或者…

【從零開始學架構 架構基礎】四 架構設計的復雜度來源:可擴展性復雜度來源

架構設計的復雜度來源其實就是架構設計要解決的問題&#xff0c;主要有如下幾個&#xff1a;高性能、高可用、可擴展、低成本、安全、規模。復雜度的關鍵&#xff0c;就是新舊技術之間不是完全的替代關系&#xff0c;有交叉&#xff0c;有各自的特點&#xff0c;所以才需要具體…

新書速覽|Linux C與C++一線開發實踐

《Linux C與C一線開發實踐》 本書內容 Linux C/C編程在Linux應用程序開發中占有重要的地位&#xff0c;掌握這項技術將在就業競爭中立于不敗之地。《Linux C與C一線開發實踐》內容針對初中級讀者&#xff0c;貼近軟件公司一線開發實踐。全書厚達620多頁&#xff0c;知識點豐富…

Java中String和StringBuilder的區別

當然可以&#xff0c;我們可以通過面試問答的形式來探討String和StringBuilder的區別。 面試官&#xff1a;請解釋一下Java中String和StringBuilder的區別。 面試回答&#xff1a; 1. 不可變性&#xff08;Immutability&#xff09; String&#xff1a;String對象是不可變的…

微信小程序添加點擊事件

在微信小程序中&#xff0c;給<view>組件添加點擊事件非常直接&#xff0c;你可以使用bindtap屬性來綁定一個事件處理函數。下面是添加點擊事件的基本步驟和示例代碼&#xff1a; 步驟&#xff1a; 在WXML文件中&#xff1a;給需要添加點擊事件的<view>標簽添加bi…

第六周周報

摘要 本周重點跟著網課學習了pytorch框架下張量的各種常用操作API&#xff0c;為后面跑模型做準備&#xff0c;因為看的視頻比較偏向原理&#xff0c;現在對張量有了一個新的認識。其次在時序的研究上&#xff0c;最近我在看圖神經網絡跟時序結合的方向&#xff0c;所以本周學…