色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【微五科技CF3310開(kāi)發(fā)板試用體驗(yàn)】32 位可編程中斷計(jì)時(shí)器模塊PIT32基礎(chǔ)使用

開(kāi)發(fā)板試用精選 ? 來(lái)源:開(kāi)發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-11-24 16:26 ? 次閱讀

本文來(lái)源電子發(fā)燒友社區(qū),作者:HonestQiao, 帖子地址:https://bbs.elecfans.com/jishu_2289203_1_1.html


效果演示(開(kāi)發(fā)板體驗(yàn)視頻,詳見(jiàn)作者原文鏈接內(nèi)容)

在微五科技CF3310開(kāi)發(fā)板上,提供了兩個(gè)32 位可編程中斷計(jì)時(shí)器模塊:
image.png

其具體的處理邏輯如下:
image.png

通過(guò)對(duì)官方提供的pit32_demo的學(xué)習(xí),了解到該定時(shí)器的基礎(chǔ)使用方式。

要使用開(kāi)發(fā)板上的定時(shí)器,有兩個(gè)概念,我們需要先了解:

  1. 分頻:為了得到準(zhǔn)確的計(jì)時(shí)時(shí)間,通常使用開(kāi)發(fā)板運(yùn)行頻率,取其2的整數(shù)次方 之一,得到一個(gè)合適的頻率值,然后根據(jù)該頻率值進(jìn)行計(jì)數(shù);否則,頻率值過(guò)大,導(dǎo)致計(jì)數(shù)值增長(zhǎng)太快,計(jì)數(shù)器溢出。
  2. 計(jì)數(shù):在上述分頻的基礎(chǔ)上,進(jìn)行計(jì)數(shù),累積到預(yù)先設(shè)定的數(shù)值,就觸發(fā)定時(shí)器進(jìn)行具體的操作。

通過(guò)查看官方手冊(cè),可以了解到該開(kāi)發(fā)板的具體可分頻數(shù):
image.png

在系統(tǒng)的src/hal/inc/pit32_hal.h中,也有具體的定義:
image.png

在pit32_demo中,分頻取得是32:
image.png

那么,根據(jù)該分頻,最終需要的計(jì)數(shù)值,則由下面的函數(shù)來(lái)計(jì)算:
image.png

如果系統(tǒng)運(yùn)行在30MHz,則1秒對(duì)應(yīng)的計(jì)數(shù)值為:
counter= 30*10e6/32/1 = 937500
也就是說(shuō),每計(jì)數(shù)到該數(shù)值,就能觸發(fā)一次計(jì)時(shí)器回調(diào)了。

在上述代碼中,對(duì)定時(shí)器的具體設(shè)置說(shuō)明如下:

// 定時(shí)器初始化
// 定義定時(shí)器變量
PIT32_HandleTypeDef hpit32;

// 使用PIT1定時(shí)器,有兩個(gè)PIT1、PIT2可用
hpit32.instance = PIT1;

// 設(shè)定計(jì)數(shù)值
hpit32.init.counter = pit32_led_CalcCounter(g_ips_clk,PIT32_CLK_DIV_32,PIT32_1S);

// 啟用中斷
hpit32.init.enableIE = ENABLE;

// 啟用重復(fù)調(diào)用,否則就是單詞觸發(fā)
hpit32.init.reLoad = ENABLE;

// 設(shè)定分頻
hpit32.init.prescaler = PIT32_CLK_DIV_32;

// 以下三項(xiàng),可具體查看手冊(cè)詳細(xì)了解
hpit32.init.runatDebug = ENABLE;
hpit32.init.runatDoze = ENABLE;
hpit32.init.updateCNT = ENABLE;

設(shè)置好定時(shí)器后,就可以使用下面的調(diào)用來(lái)啟動(dòng)定時(shí)器:
HAL_PIT32_Init(&hpit32);

然后,定時(shí)器觸發(fā)時(shí),會(huì)自動(dòng)調(diào)用:
void HAL_PIT32_Callback(void *hpit32)
我們的處理程序,就可以寫到該回調(diào)中進(jìn)行處理。
需要注意的是,這是一個(gè)全局回調(diào),所以只能定義一次。
我在寫pit32_led例子的時(shí)候,就需要先把原來(lái)的pit32_demo.c中的注釋掉。

了解了以上定時(shí)器的基礎(chǔ)使用方法,再結(jié)合eport_demo中控制LED的方法,我們就能用定時(shí)器實(shí)現(xiàn)一個(gè)閃亮LED的程序。

具體的代碼展示如下:

  1. src/demo/inc/demo.h中,添加如下部分:
#ifdef PIT32_LED_EN
#include "pit32_led.h"
#endif
  1. src/main/main.c中,添加如下部分:
#ifdef PIT32_LED_EN
	/* 32bits 可編程中斷定時(shí)器*/
	PIT32_LED_Run();
#endif
  1. src/demo/inc/pit32_led.h
/*
 * pit32_led.h
 *
 */

#ifndef PIT32_LED_H_
#define PIT32_LED_H_

extern void PIT32_LED_Run(void);

#endif /* PIT32_LED_H_ */
  1. src/demo/pit32_led.c:
/*
 * pit32_led.c
 *
 */

#include "pit32_demo.h"
#include "pit32_hal.h"
#include "eport_hal.h"
#include "cpm_hal.h"
#include "hal.h"
#include "delay.h"
#include "debug.h"

#define RETERR()            do{printf("t行號(hào):%d ERRrn",__LINE__);
                               return;}while(0)

EPORT_InitTypeDef eport;
EPORT_PinDef pin_num;
EPORT_TypeDef *eport_base;

int32_t led_status = 0;

uint32_t pit32_led_CalcCounter(uint32_t clk,uint32_t div, uint32_t time)
{
	return (clk/(1<
void PIT32_LED_Run(void) { // 定時(shí)器初始化 PIT32_HandleTypeDef hpit32; hpit32.instance = PIT1; hpit32.init.counter = pit32_led_CalcCounter(g_ips_clk,PIT32_CLK_DIV_32,PIT32_1S); hpit32.init.enableIE = ENABLE; hpit32.init.reLoad = ENABLE; hpit32.init.prescaler = PIT32_CLK_DIV_32; hpit32.init.runatDebug = ENABLE; hpit32.init.runatDoze = ENABLE; hpit32.init.updateCNT = ENABLE; // LED初始化 pin_num = EPORT_PIN4; eport_base = EPORT; eport.pin = pin_num; eport.func = GPIO_FUN; eport.dir = GPIO_DIR_OUT; eport.output_mode = EPORT_OUTPUT_MODE_CMOS; eport.pull_mode = EPORT_PULL_UP; HAL_EPORT_Init(eport_base, &eport); HAL_EPORT_TogglePin(eport_base, pin_num); // 啟動(dòng)定時(shí)器 HAL_PIT32_Init(&hpit32); while(1); } void HAL_PIT32_Callback(void *hpit32) { led_status = !led_status; if(led_status) { printf("Enter PIT interrupt, set LED Onrn"); HAL_EPORT_WritePin(eport_base, pin_num, BIT_SET); } else { printf("Enter PIT interrupt, set LED Offrn"); HAL_EPORT_WritePin(eport_base, pin_num, BIT_RESET); } }
)>

在以上的代碼中,使用到了PIN4,實(shí)際驅(qū)動(dòng)的LED,直接使用了板載的LED2,具體接線如下:
iShot_2022-06-24_17.10.36.png

另外,上圖中的兩個(gè)跳線帽,短接對(duì)應(yīng)的引腳后,開(kāi)發(fā)板上的Type-C接口在連接到電腦后,就能直接用串口工具打開(kāi),查看調(diào)試信息了:
iShot_2022-06-24_17.02.16.png

連接好線,在IDE中編輯下載后,實(shí)際跑起來(lái)之后,效果如視頻所示


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微五科技
    +關(guān)注

    關(guān)注

    1

    文章

    27

    瀏覽量

    2601
  • 開(kāi)發(fā)板試用

    關(guān)注

    3

    文章

    301

    瀏覽量

    2124
  • CF3310
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    351
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    PLC可編程控制器的簡(jiǎn)介

    第一臺(tái)可編程控制器(PDP一14),在通用汽車公司的生產(chǎn)線上試用后,效果顯著;1971年,日本研制出第一臺(tái)可編程控制器;1973年,德國(guó)研制出第一臺(tái)可編程控制器;而在我國(guó)于1974年研
    的頭像 發(fā)表于 12-23 09:09 ?188次閱讀

    追加名額丨米爾瑞芯RK3576開(kāi)發(fā)板有獎(jiǎng)試用

    米爾與瑞芯合作發(fā)布的新品基于瑞芯RK3576應(yīng)用處理的MYD-LR3576開(kāi)發(fā)板免費(fèi)試用活動(dòng)加碼啦~~米爾追加了2塊價(jià)值849元的MY
    的頭像 發(fā)表于 11-22 01:00 ?234次閱讀
    追加名額丨米爾瑞芯<b class='flag-5'>微</b>RK3576<b class='flag-5'>開(kāi)發(fā)板</b>有獎(jiǎng)<b class='flag-5'>試用</b>

    有獎(jiǎng)丨米爾 瑞芯RK3576開(kāi)發(fā)板免費(fèi)試用

    米爾與瑞芯合作發(fā)布的新品基于瑞芯RK3576應(yīng)用處理的MYD-LR3576開(kāi)發(fā)板免費(fèi)試用活動(dòng)來(lái)啦~~米爾提供了7塊價(jià)值849元的MYD
    的頭像 發(fā)表于 11-12 01:00 ?383次閱讀
    有獎(jiǎng)丨米爾 瑞芯<b class='flag-5'>微</b>RK3576<b class='flag-5'>開(kāi)發(fā)板</b>免費(fèi)<b class='flag-5'>試用</b>

    DS90CF383B +3.3V可編程LVDS發(fā)射24平板顯示(FPD)鏈路數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《DS90CF383B +3.3V可編程LVDS發(fā)射24平板顯示(FPD)鏈路數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 07-05 10:02 ?0次下載
    DS90<b class='flag-5'>CF</b>383B +3.3V<b class='flag-5'>可編程</b>LVDS發(fā)射<b class='flag-5'>器</b>24<b class='flag-5'>位</b>平板顯示<b class='flag-5'>器</b>(FPD)鏈路數(shù)據(jù)表

    DS90CF363B +3.3V可編程LVDS發(fā)射18平板顯示(FPD)鏈路數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《DS90CF363B +3.3V可編程LVDS發(fā)射18平板顯示(FPD)鏈路數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 07-05 10:01 ?0次下載
    DS90<b class='flag-5'>CF</b>363B +3.3V<b class='flag-5'>可編程</b>LVDS發(fā)射<b class='flag-5'>器</b>18<b class='flag-5'>位</b>平板顯示<b class='flag-5'>器</b>(FPD)鏈路數(shù)據(jù)表

    DS90C363,DS90CF364可編程LVDS發(fā)射18平板顯示(FPD)數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《DS90C363,DS90CF364可編程LVDS發(fā)射18平板顯示(FPD)數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 06-29 11:38 ?0次下載
    DS90C363,DS90<b class='flag-5'>CF</b>364<b class='flag-5'>可編程</b>LVDS發(fā)射<b class='flag-5'>器</b>18<b class='flag-5'>位</b>平板顯示<b class='flag-5'>器</b>(FPD)數(shù)據(jù)表

    DS90C383/DS90CF384可編程LVDS發(fā)射24平板顯示(FPD)數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《DS90C383/DS90CF384可編程LVDS發(fā)射24平板顯示(FPD)數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 06-29 11:35 ?0次下載
    DS90C383/DS90<b class='flag-5'>CF</b>384<b class='flag-5'>可編程</b>LVDS發(fā)射<b class='flag-5'>器</b>24<b class='flag-5'>位</b>平板顯示<b class='flag-5'>器</b>(FPD)數(shù)據(jù)表

    可編程電源如何編程

    可編程電源的編程方法和步驟。 ### 1. 可編程電源的基本概念 可編程電源通常由以下幾個(gè)部分組成: - **輸入模塊**:接收交流或直流輸
    的頭像 發(fā)表于 06-10 15:24 ?1475次閱讀

    具有可編程復(fù)位延遲功能的TPS3430-Q1汽車類窗口看門狗計(jì)時(shí)器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《具有可編程復(fù)位延遲功能的TPS3430-Q1汽車類窗口看門狗計(jì)時(shí)器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 03-28 17:15 ?0次下載
    具有<b class='flag-5'>可編程</b>復(fù)位延遲功能的TPS3430-Q1汽車類窗口看門狗<b class='flag-5'>計(jì)時(shí)器</b>數(shù)據(jù)表

    具有使能功能的TPS3431-Q1汽車標(biāo)準(zhǔn)可編程監(jiān)視計(jì)時(shí)器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《具有使能功能的TPS3431-Q1汽車標(biāo)準(zhǔn)可編程監(jiān)視計(jì)時(shí)器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 03-28 17:14 ?0次下載
    具有使能功能的TPS3431-Q1汽車標(biāo)準(zhǔn)<b class='flag-5'>可編程</b>監(jiān)視<b class='flag-5'>器</b><b class='flag-5'>計(jì)時(shí)器</b>數(shù)據(jù)表

    現(xiàn)場(chǎng)可編程門陣列的原理和應(yīng)用

    FPGA是一種可編程的硬件邏輯器件,其核心組成部分是可編程邏輯單元(PLU)和可編程互連資源(Interconnect Resources)。PLU是一組可編程的邏輯門,如與門、或門、
    的頭像 發(fā)表于 03-27 14:49 ?792次閱讀

    fpga開(kāi)發(fā)板是什么?fpga開(kāi)發(fā)板有哪些?

    FPGA開(kāi)發(fā)板是一種基于FPGA(現(xiàn)場(chǎng)可編程門陣列)技術(shù)的開(kāi)發(fā)平臺(tái),它允許工程師通過(guò)編程來(lái)定義和配置FPGA芯片上的邏輯電路,以實(shí)現(xiàn)各種數(shù)字電路和邏輯功能。FPGA
    的頭像 發(fā)表于 03-14 18:20 ?2113次閱讀

    具有可編程復(fù)位延遲功能的 TPS3430 窗口看門狗計(jì)時(shí)器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《具有可編程復(fù)位延遲功能的 TPS3430 窗口看門狗計(jì)時(shí)器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 03-13 14:42 ?2次下載
    具有<b class='flag-5'>可編程</b>復(fù)位延遲功能的 TPS3430 窗口看門狗<b class='flag-5'>計(jì)時(shí)器</b>數(shù)據(jù)表

    具有使能功能的 TPS3431 標(biāo)準(zhǔn)可編程監(jiān)視計(jì)時(shí)器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《具有使能功能的 TPS3431 標(biāo)準(zhǔn)可編程監(jiān)視計(jì)時(shí)器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 03-13 14:31 ?0次下載
    具有使能功能的 TPS3431 標(biāo)準(zhǔn)<b class='flag-5'>可編程</b>監(jiān)視<b class='flag-5'>器</b><b class='flag-5'>計(jì)時(shí)器</b>數(shù)據(jù)表

    fpga開(kāi)發(fā)板與linux開(kāi)發(fā)板區(qū)別

    (Field-Programmable Gate Array)是一種可編程邏輯器件,它可以通過(guò)編程改變硬件邏輯電路的功能和結(jié)構(gòu)。FPGA采用了可編程的門極,可以根據(jù)需要重新配置內(nèi)部電路,從而實(shí)現(xiàn)不同的功能和邏輯關(guān)系。而Linux
    的頭像 發(fā)表于 02-01 17:09 ?2380次閱讀
    主站蜘蛛池模板: 超碰caoporn| 亚洲mv在线观看| 国产精品亚欧美一区二区三区| 草莓视频免费看| 成在线人免费视频| 国产精品白浆精子流水合集 | 久久网站视频| 国产专区_爽死777| 精品96在线观看影院| 国产精品嫩草影院| 国产传媒精品1区2区3区| 国产婷婷午夜无码A片| 精品日产1区2卡三卡麻豆| 伦理电影2499伦理片| 久久强奷乱码老熟女| 男男h啪肉np文总受| 日本高清色片| 内射气质御姐视频在线播放| 日本阿v直播在线| 午夜性色一区二区三区不卡视频 | 国产精品久久久精品a级小说| 国产永不无码精品AV永久| 国产精品久久久久婷婷五月色婷婷| 国产亚洲精品网站在线视频| 久久视频精品3线视频在线观看| 嫩草AV久久伊人妇女| 善良的小峓子2在钱中文版女主角| 欧美午夜特黄AAAAAA片| 特黄AAAAAAA片免费视频| 软糯白嫩双性受h| 亚洲乱码高清午夜理论电影 | 日本熟妇乱妇熟色A片蜜桃| 欧美午夜精品A片一区二区HD| 十8禁用B站在线看漫画| 夜夜骑夜夜欢| 一本久道久久综合狠狠躁AV| 99久久国产综合精品网成人影院 | 亚洲AV日韩AV欧美在线观看网 | 国产午夜精品片一区二区三区| 久久中文字幕亚洲| 蜜桃无码AV视频在线观看 |