本文來源電子發(fā)燒友社區(qū),作者:川楠, 帖子地址:https://bbs.elecfans.com/jishu_2241443_1_1.html
前言
大家好。
首先,感謝南京中科微提供的CSM32RV20開發(fā)板,同時也感謝發(fā)燒友提供的試用平臺。
這次測試的是定時器,測試目標(biāo):使用定時器,周期性的控制LED燈。
代碼編程
還是一樣的,按照官方的教程,建立DEMO程序,查看main.c文件。
基本上定時器的相關(guān)代碼就在這里的,但是定時器的中斷函數(shù)呢?函數(shù)入口呢?
這里可以直接查看啟動文件。
按照這個函數(shù)名稱,查找:ctrl+f(基本上絕大多說的查找命令都是這個快捷鍵組合)
這樣你就能找到中斷函數(shù):
在中斷函數(shù)里,交替改變的是PA12引腳的電平變化。
到了這里,我基本上有了編程的思路的,這還在沒有看數(shù)據(jù)手冊的情況下:
具體代碼如下:
復(fù)制代碼
程序編譯下載:
結(jié)果燈好像沒有什么變化?就一個紅燈常亮?
不要著急,使用示波器,或者邏輯分析儀看一下,PA12引腳的電平,你就明白了。
頻率都達(dá)到了500HZ了,肉眼能看到,才是怪事。
到了這里,實驗?zāi)康氖沁_(dá)到了。但是通常,我們是需要改變定時的周期/頻率的,所以,這里就需要仔細(xì)的研究下定時器初始化了。
PSC-預(yù)分頻,值為31;ARR-自動重裝寄存器,值為1000。
結(jié)合系統(tǒng)時鐘是32MHZ,所以定時器的頻率分頻應(yīng)該是31+1,所以計時時鐘為1MHZ。
在這個頻率下,計數(shù)1000個,也就是1KHZ,1MS,所以,定時器的中斷周期是1MS,LED的頻率就是500HZ了。
如果是這樣的話,ARR的值應(yīng)該是1000-1=999才是更精確的1MS定時中斷啊。不過都是小問題。
調(diào)整驗證一下:
將定時器中斷周期改為500MS,使得LED1S閃爍一次。更改Timer1_UpCounting_Mode_Init();
可以看到預(yù)分頻的值范圍是0-65535;
定時器為16位定時器,計數(shù)范圍也是0-65535;
所以修改定時器初始化值為:
在抓PA12波形:
試用感受
CSM32整體用起來,感覺還是不錯基本上不用看手冊就可以了,把單個功能實現(xiàn)。但是,如果在仔細(xì)的看官方的源代碼,其實還是能找到一些小問題。
就比如,定時器ARR應(yīng)該要減1才對,
前言
大家好。
首先,感謝南京中科微提供的CSM32RV20開發(fā)板,同時也感謝發(fā)燒友提供的試用平臺。
這次測試的是定時器,測試目標(biāo):使用定時器,周期性的控制LED燈。
代碼編程
還是一樣的,按照官方的教程,建立DEMO程序,查看main.c文件。
基本上定時器的相關(guān)代碼就在這里的,但是定時器的中斷函數(shù)呢?函數(shù)入口呢?
這里可以直接查看啟動文件。
按照這個函數(shù)名稱,查找:ctrl+f(基本上絕大多說的查找命令都是這個快捷鍵組合)
這樣你就能找到中斷函數(shù):
在中斷函數(shù)里,交替改變的是PA12引腳的電平變化。
到了這里,我基本上有了編程的思路的,這還在沒有看數(shù)據(jù)手冊的情況下:
具體代碼如下:
- int main(void)
- {
- ///----System Init ---------------------------------------------------------------------------------------------
- CLIC_Init();//系統(tǒng)中斷配置
- System_Clock_Init();//系統(tǒng)時鐘初始化
- GPIO_MODE_Init(GPIOA,PIN12,GPIO_MODE_OUTPUT); //GPIO 模式
- //外設(shè)配置
- timer1_UpCounting_Mode_Init();//向上計數(shù)
- Interrupt_Enable(TIMER1_updata_int_ID);//CLIC使能中斷
- //使能系統(tǒng)總中斷
- SYS_Interrupt_Enable();//CLIC開總中斷
- while(1)
- {
- }
- return 0;
- }
程序編譯下載:
結(jié)果燈好像沒有什么變化?就一個紅燈常亮?
不要著急,使用示波器,或者邏輯分析儀看一下,PA12引腳的電平,你就明白了。
頻率都達(dá)到了500HZ了,肉眼能看到,才是怪事。
到了這里,實驗?zāi)康氖沁_(dá)到了。但是通常,我們是需要改變定時的周期/頻率的,所以,這里就需要仔細(xì)的研究下定時器初始化了。
PSC-預(yù)分頻,值為31;ARR-自動重裝寄存器,值為1000。
結(jié)合系統(tǒng)時鐘是32MHZ,所以定時器的頻率分頻應(yīng)該是31+1,所以計時時鐘為1MHZ。
在這個頻率下,計數(shù)1000個,也就是1KHZ,1MS,所以,定時器的中斷周期是1MS,LED的頻率就是500HZ了。
如果是這樣的話,ARR的值應(yīng)該是1000-1=999才是更精確的1MS定時中斷啊。不過都是小問題。
調(diào)整驗證一下:
將定時器中斷周期改為500MS,使得LED1S閃爍一次。更改Timer1_UpCounting_Mode_Init();
可以看到預(yù)分頻的值范圍是0-65535;
定時器為16位定時器,計數(shù)范圍也是0-65535;
所以修改定時器初始化值為:
在抓PA12波形:
試用感受
CSM32整體用起來,感覺還是不錯基本上不用看手冊就可以了,把單個功能實現(xiàn)。但是,如果在仔細(xì)的看官方的源代碼,其實還是能找到一些小問題。
就比如,定時器ARR應(yīng)該要減1才對,
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
南京中科微
+關(guān)注
關(guān)注
0文章
60瀏覽量
709 -
CSM32RV20
+關(guān)注
關(guān)注
0文章
40瀏覽量
192
發(fā)布評論請先 登錄
相關(guān)推薦
CSM32RV003開發(fā)板的按鍵及timer1溢出中斷的應(yīng)用
1、前言
申請的CSM32RV003開發(fā)板研究好長一段時間了,但是還有不少問題需要解決,一點一點的啃,終于把I/O口和timer1溢出中斷弄得差不多了,這里感謝南京
發(fā)表于 10-30 10:46
哪位大佬能提供一下中科微CSM32RV003單片機(jī)開發(fā)系統(tǒng)中g(shù)pio.h文件的中文解釋,及用法
初學(xué)南京中科微CSM32RV003單片機(jī),對其龐大的h文件庫和C文件庫搞得一頭霧水,即使有高手指點一二,也是很困難,但搞清了h文件庫,C文件也就明白了,這些對入門的人來說算不了什么,但
發(fā)表于 10-26 09:47
CSM32RV003 單片機(jī)輸入功能的使用
前言
大家好。
首先,感謝南京中科微提供的CSM32RV003開發(fā)板及cjlink調(diào)試器,同時也感謝發(fā)燒友提供的
發(fā)表于 10-25 16:13
【中科微CSM32RV003綠色開發(fā)板免費體驗】IDE使用及流水燈程序演示
【RISC-V】中科微CSM32RV003綠色開發(fā)板IDE使用及流水燈程序演示
流水燈代碼
#include \"headfile.h\"
int main(void
發(fā)表于 10-23 19:26
【中科微CSM32RV003綠色開發(fā)板免費體驗】環(huán)境配置
【CSM32RV003】中科微CSM32RV003綠色開發(fā)板環(huán)境配置
視頻中詳細(xì)介紹了開發(fā)板及
發(fā)表于 10-23 19:17
【LuckFox Pico Plus開發(fā)板免費試用】+開發(fā)板上手
LuckFox Pico的試用機(jī)會,這款開發(fā)板相當(dāng)于是RV1103的小型評估板,引出了所有的IO口,并且?guī)б蕴W(wǎng)/USB/攝像頭等高速接口。下面一起來看一下。
【中科微CSM32RV003綠色開發(fā)板免費體驗】3.使用流程
CSM32RV003綠色開發(fā)板免費體驗】1.上手【中科微CSM32RV003綠色開發(fā)板免費體驗】
發(fā)表于 10-14 00:05
【中科微CSM32RV003綠色開發(fā)板免費體驗】+環(huán)境安裝與第一個示例程序測試
需要對中科微CSM32RV003綠色開發(fā)板進(jìn)行開發(fā)測試,首先需要建立開發(fā)環(huán)境。
發(fā)表于 10-11 10:09
【中科微CSM32RV003綠色開發(fā)板免費體驗】+ISP下載測試
在收到中科微的CSM32RV003綠色開發(fā)板后,首先到官網(wǎng)和技術(shù)支持微信群尋找資料。要實現(xiàn)CSM32RV
發(fā)表于 10-11 08:58
【中科微CSM32RV003綠色開發(fā)板免費體驗】2.RISC-V RV32IMAC內(nèi)核
CSM32RV003綠色開發(fā)板免費體驗】1.上手
我要感謝南京中科微電子有限公司提供的CSM32RV003綠色
發(fā)表于 10-10 00:03
【中科微CSM32RV003綠色開發(fā)板免費體驗】 開箱和安裝工具帖
我申請項目:滑翔傘空中速率計。
我于2023年9月9日下午收到中科微CSM32RV003開發(fā)板快遞包裹。拿回后立馬打開包裹,出現(xiàn)南京
發(fā)表于 10-09 23:34
【中科微CSM32RV003綠色開發(fā)板免費體驗】1.上手
首先,我要感謝南京中科微電子有限公司提供的CSM32RV003綠色開發(fā)板和試用機(jī)會,這讓我有機(jī)會深入了解并使用該公司的產(chǎn)品。經(jīng)過幾天的熟悉和
發(fā)表于 10-09 23:21
【中科微CSM32RV003綠色開發(fā)板免費體驗】開發(fā)板使用3彩燈
接上文 【中科微CSM32RV003綠色開發(fā)板免費體驗】開發(fā)板使用2
官方例程SYSTICK_I
發(fā)表于 09-28 07:04
【中科微CSM32RV003綠色開發(fā)板免費體驗】第二貼-CSM Stduio使用、ISP下載固件及C-Jlink進(jìn)行調(diào)試
非常感謝南京中科微提供的試用機(jī)會,經(jīng)過幾天的熟悉,本期將對CSM Studio的基礎(chǔ)使用、CSM
發(fā)表于 09-27 20:26
評論