[TM4C123单片机实践] 配置SSI并驱动DAC7811显示正弦波
2015-05-17 22:28
495 查看
这几天做电赛学习了TM4C123 单片机, 总得来说, 结合官方例程与参考手册, 加上一个好的示波器, 效率会高很多.
TI的SSI 实际上就是SPI.
我门先熟悉一下SPI
SPI ,就是在主机与从机之间用来传输数据的 通过TX, RX传输数据, 通过CS 片选信号线激活主机与从机的通信, 通过CLK 时钟信号控制频率
我们可以参考reference
关于工作模式选择:
SPI 有4种工作模式:
我们需要根据具体DAC接收方式进行选择:
具体参考reference
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
相关文章推荐
- 安装配置管理 之 apt+synaptic 为Fedora core 4.0 中安装Nvida芯片显示卡及Ati 卡显示驱动
- 51 单片机 C 语言编程:4×4键盘、164 驱动显示、并发音
- (五).单片机输出电路的实践——数码管显示电路的设计
- 单片机--带字库12864显示正弦波程序
- Code maturity level options 代码成熟度选项 [*]Prompt for development and/or incomplete code/drivers 显示尚在开发中或尚未完成的代码与驱动.除非你是测试人员或者开发者,否则请勿选择 我是开发者,所以选[*] Loadable module support 可加载模块支持 [*]Enable loadable module support 内核编译配置选项简介 (2.4.20-8
- SSI框架(Struts2+Spring+iBATIS)配置简单的添加,删除,显示。
- 51单片机的4×4键盘识别与74LS164驱动数码显示
- Mac of MyEclipse 配置Tomcat数据源,并添加数据源驱动
- mac chrome 驱动配置
- 单片机中断(定时器)实践
- selenium之配置浏览器驱动(phantomJS, Chrome)
- 领域驱动设计实践:还是图书馆借书的例子
- linux驱动开发:用户空间操作LCD显示简单的图片【转】
- 3dsMax的显示驱动设置
- 使用ATtiny85单片机驱动四个RGB LED指示灯
- 驱动开发之六 --- 一个简单的显示驱动之三 【译文】
- cfengine自动化配置系统原理与实践
- Linux开源模块迁移概述暨交叉编译跨平台移植总结--从《嵌入式Linux驱动模板简洁和工程实践》
- Apache中配置SSI
- java5 unix/linux 中文字体配置说明 (jfreechart 图片生成后中文显示为“口”)