[TM4C123单片机实践] 配置SSI并驱动DAC7811显示正弦波
来源:互联网 发布:fedora与ubuntu 编辑:程序博客网 时间:2024/06/13 03:03
这几天做电赛学习了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
0 0
- [TM4C123单片机实践] 配置SSI并驱动DAC7811显示正弦波
- 单片机--带字库12864显示正弦波程序
- TM4C123系列ARM单片机开发入门介绍
- [TM4C123单片机实战] 两路ADC检测,短路报警
- 正弦波显示程序
- modelsim中显示正弦波
- 51 单片机 C 语言编程:4×4键盘、164 驱动显示、并发音
- 用AVR单片机来产生正弦波信号
- UDA1341 SSI音频驱动
- 51单片机驱动1602显示万年历
- 正弦波
- 正弦波
- 51单片机串行接收并显示
- DE2实践之WM8731产生正弦波
- 配置tomcat支持ssi
- Tomcat配置SSI
- apache ssi配置
- shtml--Tomcat配置SSI
- performSelector 使用
- 自定义结构--单链表实现
- 第十一周 阅读程序(3)
- maven命令
- C# 网页登录
- [TM4C123单片机实践] 配置SSI并驱动DAC7811显示正弦波
- 通信几个关键算法记录
- javascript(七)window其他子对象(DHTML模型)
- OpenJudge 实现KMP
- Python基础教程 | 第四章 字典
- hdoj 1541 Stars 【树状数组 线段树】【单点更新 区间求和】
- Java集合框架——List下ArrayList、Vector、LinkedList的简单分析
- 我的php学习之路
- MySQL存储过程调试工具-dbForge Studio for MySQL