[TM4C123單片機實踐] 配置SSI並驅動DAC7811顯示正弦波,

來源:互聯網
上載者:User

[TM4C123單片機實踐] 配置SSI並驅動DAC7811顯示正弦波,

這幾天做電賽學習了TM4C123 單片機, 總得來說, 結合官方常式與參考手冊, 加上一個好的示波器, 效率會高很多.

TI的SSI 實際上就是SPI.

我門先熟悉一下SPI

SPI ,就是在主機與從機之間用來傳輸資料的 通過TX, RX傳輸資料, 通過CS 片選訊號線啟用主機與從機的通訊, 通過CLK 時鐘訊號控制頻率


#include <stdbool.h>#include <stdint.h>#include "inc/hw_memmap.h"#include "driverlib/gpio.h"#include "driverlib/pin_map.h"#include "driverlib/ssi.h"#include "driverlib/sysctl.h"//ssi.h 必須要有
extern uint32_t Fre;void ssi_0(void){    SysCtlClockSet(SYSCTL_SYSDIV_2_5 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_10MHZ);    //選擇時鐘源    
    SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI0);    //使能SSI0
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);    //使能GPIO    GPIOPinConfigure(GPIO_PA2_SSI0CLK); //分別開啟GPIO引腳對應的功能    GPIOPinConfigure(GPIO_PA3_SSI0FSS);    GPIOPinConfigure(GPIO_PA5_SSI0TX);
<p></p>    SysCtlGPIOAHBEnable(GPIO_PORTA_BASE);    //掛載高速外設匯流排    GPIOPinTypeSSI(GPIO_PORTA_BASE, GPIO_PIN_5 | GPIO_PIN_3 |                   GPIO_PIN_2); //使能GPIO的SSI功能    SSIConfigSetExpClk(SSI0_BASE, SysCtlClockGet(), SSI_FRF_TI,                       SSI_MODE_MASTER, Fre, 16);    //選擇SSI的時鐘源,選擇工作模式,選擇頻率,選擇發送位元
    SSIEnable(SSI0_BASE);//使能}void DAC_Write_0(uint16_t ssi0_send){SSIDataPut(SSI0_BASE, 0x3FFF&ssi0_send);/**/ //發送資料//    while(SSIBusy(SSI0_BASE)) ;}
關於引腳選擇:

我們可以參考reference


關於工作模式選擇:

SPI 有4種工作模式:

我們需要根據具體DAC接收方式進行選擇:

具體參考reference



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.