Atmel宣布擴(kuò)展ARM Cortex-M4快閃微控制器陣容,增添具有先進(jìn)的連通性外設(shè)、一個(gè)浮點(diǎn)單元(FPU)、先進(jìn)的模擬功能,以及更高處理能力的SAM4E系列器件。 上述的豐富
這次使用這個(gè)DMAC的Multi-buffer傳輸功能,將兩個(gè)緩沖區(qū)的內(nèi)容拷貝至一個(gè)連續(xù)的緩沖區(qū)中。一、 DMAC在M4中,DMA控制器(DMAC)比外設(shè)DMA控制器(PDC)要復(fù)雜,但是功能更加強(qiáng)大。為適應(yīng)不同的傳輸要求,DMAC 可以進(jìn)行
在上個(gè)例子中,已經(jīng)在ASF添加了ILI93xx模塊,并做好了相關(guān)的聲明。這次就做好SMC的配置,然后使用ASF提供的API在屏幕上打印出”Hello World!”字樣。一、 電路圖開(kāi)發(fā)板的LCD連接器的接線如圖所示。這些連線均按照SMC
為得到更高的帶寬,需要使用更高的波特率。UART波特率的計(jì)算已經(jīng)介紹過(guò)了,現(xiàn)在就嘗試下調(diào)整外設(shè)的時(shí)鐘頻率??梢杂卸喾N方法調(diào)整外設(shè)時(shí)鐘(MCK)的頻率,這里先介紹先主要時(shí)鐘(MAINCK)的設(shè)置,其中包括外部晶振的使
讓一個(gè)LED燈閃爍不過(guò)癮,我們應(yīng)該讓這塊開(kāi)發(fā)板完成一點(diǎn)更高難度的任務(wù):比如讓兩個(gè)LED燈閃爍?!?dāng)然了,以我們的現(xiàn)在使用的空循環(huán)技術(shù),還是可以實(shí)現(xiàn)這點(diǎn)的。但是這樣顯得略為低端。所以我們使用一個(gè)高端點(diǎn)的技術(shù)
PWM在高頻情況下,一個(gè)很好的用處就是通過(guò)控制占空比來(lái)控制輸出的功率,比如控制風(fēng)扇轉(zhuǎn)速、LED燈的亮度等。這次就利用PWM的中斷功能,動(dòng)態(tài)改變脈沖的占空比,來(lái)實(shí)現(xiàn)呼吸燈的效果。一、實(shí)現(xiàn)思路PWM可以選擇讓計(jì)數(shù)器在
為使用更更高的波特率,則需要更更高的外設(shè)時(shí)鐘的頻率。這個(gè)時(shí)候就需要用到鎖相環(huán)(PLL)了。鎖相環(huán)可以對(duì)輸入的時(shí)鐘進(jìn)行分頻、升頻后進(jìn)行輸出。MCK可以使用的鎖相環(huán)為PLLA,而PLLA的輸入時(shí)鐘為MAINCK。本節(jié)將配置MC
之前我們使用空循環(huán),達(dá)到了延遲的目的,但是這樣子的延遲比較不精確?,F(xiàn)在就使用實(shí)時(shí)定時(shí)器(RTT)來(lái)進(jìn)行更為精確的計(jì)時(shí)。RTT雖然不是特別通用,在某些單片機(jī)上可能沒(méi)有,但它較為簡(jiǎn)單。RTT內(nèi)部有一個(gè)計(jì)數(shù)器,并且可
DMAC也可以和外設(shè)進(jìn)行數(shù)據(jù)交互。之前我們?cè)褂肞DC進(jìn)行USART的數(shù)據(jù)回顯,這次就使用DMAC完成相同的工作。而且由于DMAC有內(nèi)部的緩沖區(qū),實(shí)現(xiàn)起來(lái)更為簡(jiǎn)單。一、 USART設(shè)置因?yàn)橹耙呀?jīng)做過(guò)相關(guān)的實(shí)驗(yàn),這里不再重復(fù)。
這次大概介紹了一下NAND Flash,以及在ASF中使用它的方法。一、 接線這個(gè)開(kāi)發(fā)板搭載了一個(gè)256 MB,8位的NAND Flash(MT29F2G08ABAEA)。引腳接線如下:偷個(gè)懶,直接上引腳復(fù)用的圖。其中PC14表明該NAND FLASH需要作為
最近因?yàn)閷?dǎo)師要寫(xiě)一本關(guān)于SAME4單片機(jī)的書(shū)籍,而我也作為一個(gè)嵌入式的初學(xué)者看了這本書(shū)?,F(xiàn)在也讓我寫(xiě)寫(xiě)幾個(gè)小的程序,做做示例。既然寫(xiě)了文檔之類(lèi)的,就發(fā)到博客上來(lái)吧。目前關(guān)于這芯片能參考的書(shū)籍大概就只有英文手
網(wǎng)絡(luò)通信的作用不用多說(shuō),而這次進(jìn)行的工作即是對(duì)以太網(wǎng)通信過(guò)程中,需要用到的硬件部分進(jìn)行初始化,也介紹了發(fā)送和接收數(shù)據(jù)的方法。由于較為復(fù)雜,所以使用了ASF框架。但是也會(huì)對(duì)用到的庫(kù)函數(shù)的實(shí)現(xiàn)做一個(gè)介紹。一、
DSP(Digital Signal Processing,數(shù)字信號(hào)處理)中會(huì)使用大量的數(shù)學(xué)運(yùn)算。Cortex-M4中,配置了一些強(qiáng)大的部件,以提高DSP能力。同時(shí)CMSIS提供了一個(gè)DSP庫(kù),提供了許多數(shù)學(xué)函數(shù)的高效實(shí)現(xiàn)。這次就先做一個(gè)簡(jiǎn)單的嘗試
在Atmel Studio 6中,集成了Atmel Software Framework(ASF框架)。通過(guò)它提供的庫(kù),可以很快速地完成新的項(xiàng)目。這次的最終目標(biāo)使用ASF在LCD上顯示出文字“Hello World!”,現(xiàn)階段目標(biāo)是點(diǎn)亮LCD的背光,學(xué)習(xí)目標(biāo)是了
清楚了UART的用法之后,現(xiàn)在來(lái)研究一下USART的用法。和上一次差不多,這次也通過(guò)USART的串口來(lái)實(shí)現(xiàn)和PC的通信。和上一次不同的是,USART本身就有接收超時(shí)的功能,所以這次就不用TC了。USART和UART相比,功能多了許多
浮點(diǎn)單元(Floating Point Unit,F(xiàn)PU),是用于處理浮點(diǎn)數(shù)運(yùn)算的單元。為使用FPU,除了需要啟用FPU外,還需要對(duì)編譯器進(jìn)行設(shè)置,以使其針對(duì)浮點(diǎn)運(yùn)算生成特殊的指令。雖然在Atmel Studio 6中,開(kāi)發(fā)板使用的工程模板中默
交互還是很有必要的,而且使用鍵盤(pán)和顯示器的交互效率還是很高的。當(dāng)然,可以直接使用UART進(jìn)行字符的輸入和輸出。但是又何必浪費(fèi)了C的標(biāo)準(zhǔn)輸入輸出的格式控制之類(lèi)的功能呢?這次內(nèi)容就是使用scanf()和printf()函數(shù)進(jìn)
使用PDC進(jìn)行數(shù)據(jù)的收發(fā)能減少CPU的開(kāi)銷(xiāo)。這次就使用PDC進(jìn)行UART數(shù)據(jù)的接收與發(fā)送,同時(shí),也利用TC也實(shí)現(xiàn)了PDC的接收超時(shí)。PDC是針對(duì)外設(shè)的DMA控制器。對(duì)比DMA控制器,它更為簡(jiǎn)便,與相應(yīng)外設(shè)的結(jié)合也更為緊密。比如說(shuō)
CAN協(xié)議具有良好的可靠性,在工業(yè)中應(yīng)用廣泛。這次就先熟悉CAN的基本功能。開(kāi)發(fā)板有兩個(gè)CAN,每個(gè)CAN有8個(gè)信箱。這次內(nèi)容是從CAN0的信箱0發(fā)送數(shù)據(jù)到CAN1的信箱0。除本次使用的功能外,CAN還有遠(yuǎn)程幀、強(qiáng)大的錯(cuò)誤處理
現(xiàn)在試試用按鈕控制LED燈……讓LED在一個(gè)按鈕按下時(shí)亮起;彈起時(shí)滅掉。主要目的是學(xué)習(xí)GPIO的輸入及中斷。一、電路圖中的J39-n是幾個(gè)跳線插座,位置在開(kāi)發(fā)板LCD附近,往下進(jìn)行前要先確保跳線是接通的。可以看到,當(dāng)按