TM4C123笔记(五、SSI(SPI))
基于官方的example简单注释了一下。
TM4没有SPI接口但是有四个兼容的SSI,这里是一个自收发程序(不要忘记连线哦)
比较简略,等以后补完
(富文本编辑器比markdown好用好多呢...一用markdown就崩...)
#include <stdbool.h>
#include <stdint.h>
#include "inc/hw_gpio.h"//gpio宏定义
#include "inc/hw_memmap.h"//rom库函数remap
#include "inc/hw_types.h"//板子类型宏定义(?)
#include "inc/hw_ints.h"//中断宏定义
#include "driverlib/gpio.h"//gpio库
#include "driverlib/pin_map.h"//gpio功能映射
#include "driverlib/ssi.h"
#include "driverlib/rom.h"
#include "driverlib/rom_map.h"
#include "driverlib/sysctl.h"
#include "driverlib/interrupt.h"
#include "pinout.h"#define NUM_SSI_DATA 3void UART0IntHandler(void);int main(void)
{uint32_t pui32DataTx[NUM_SSI_DATA];uint32_t pui32DataRx[NUM_SSI_DATA];uint32_t ui32Index;//使能SSI外设时钟SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI0);//pinmux生成文件,里面包含了GPIOPinConfigure和GPIOPinTypeSSI//相关内容如下:(映射引脚的意思,建议直接用Pinmux生成,这里不详细讲)//MAP_GPIOPinConfigure(GPIO_PA4_SSI0RX);//MAP_GPIOPinTypeSSI(GPIO_PORTA_BASE, GPIO_PIN_4);//MAP_GPIOPinConfigure(GPIO_PA5_SSI0TX);//MAP_GPIOPinTypeSSI(GPIO_PORTA_BASE, GPIO_PIN_5);//MAP_GPIOPinConfigure(GPIO_PA2_SSI0CLK);//MAP_GPIOPinTypeSSI(GPIO_PORTA_BASE, GPIO_PIN_2);PinoutSet();//SSI配置:哪个SSI/时钟/模式()/主从模式(主模式)/SPI频率(1MHz)/数据格式(8位)SSIConfigSetExpClk(SSI0_BASE, SysCtlClockGet(), SSI_FRF_MOTO_MODE_0,SSI_MODE_MASTER, 1000000, 8);//使能SSISSIEnable(SSI0_BASE);//等待数据//SSIDataGetNonBlocking:若有数据返回值为1并把数据给第二个参数所指变量//若无数据返回0while(SSIDataGetNonBlocking(SSI0_BASE, &pui32DataRx[0])){}pui32DataTx[0] = 's';pui32DataTx[1] = 'p';pui32DataTx[2] = 'i';//发送数据for(ui32Index = 0; ui32Index < NUM_SSI_DATA; ui32Index++){SSIDataPut(SSI0_BASE, pui32DataTx[ui32Index]);}//等待发送完成while(SSIBusy(SSI0_BASE)){}//得到数据for(ui32Index = 0; ui32Index < NUM_SSI_DATA; ui32Index++){SSIDataGet(SSI0_BASE, &pui32DataRx[ui32Index]);pui32DataRx[ui32Index] &= 0x00FF;//因为是8Bit数据,高八位清零了}while(1){//// Turn on the LED.//GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_3, GPIO_PIN_3);//// Delay for a bit.//SysCtlDelay(SysCtlClockGet() / 1/ 3);//// Turn off the LED.//GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_3, 0x0);//// Delay for a bit.//SysCtlDelay(SysCtlClockGet() / 1/ 3);}
}
TM4C123笔记(五、SSI(SPI))相关推荐
- python函数是一段具有特定功能的语句组_Python学习笔记(五)函数和代码复用
本文将为您描述Python学习笔记(五)函数和代码复用,具体完成步骤: 函数能提高应用的模块性,和代码的重复利用率.在很多高级语言中,都可以使用函数实现多种功能.在之前的学习中,相信你已经知道Pyth ...
- Ethernet/IP 学习笔记五
Ethernet/IP 学习笔记五 Accessing data within a device using a non-time critical message (an explicit mess ...
- StackExchange.Redis学习笔记(五) 发布和订阅
StackExchange.Redis学习笔记(五) 发布和订阅 原文:StackExchange.Redis学习笔记(五) 发布和订阅 Redis命令中的Pub/Sub Redis在 2.0之后的版 ...
- 吴恩达《机器学习》学习笔记五——逻辑回归
吴恩达<机器学习>学习笔记五--逻辑回归 一. 分类(classification) 1.定义 2.阈值 二. 逻辑(logistic)回归假设函数 1.假设的表达式 2.假设表达式的意义 ...
- 好程序员教程分析Vue学习笔记五
好程序员教程分析Vue学习笔记五,上次我们学习了Vue的组件,这次我们来学习一下路由的使用.在Vue中,所谓的路由其实跟其他的框架中的路由的概念差不多,即指跳转的路径. 注意:在Vue中,要使用路由, ...
- 【AngularJs学习笔记五】AngularJS从构建项目开始
为什么80%的码农都做不了架构师?>>> #0 系列目录# AngularJs学习笔记 [AngularJs学习笔记一]Bower解决js的依赖管理 [AngularJs学习笔 ...
- ROS学习笔记五:理解ROS topics
ROS学习笔记五:理解ROS topics 本节主要介绍ROS topics并且使用rostopic和rqt_plot命令行工具. 例子展示 roscore 首先运行roscore系列服务,这是使用R ...
- 《MFC游戏开发》笔记五 定时器和简单动画
本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9332377 作者:七十一雾央 新浪微博:http:// ...
- STM32复习笔记(五) —— GPIO锁定机制
STM32复习笔记(五) -- GPIO锁定机制 1.GPIO 锁定机制 锁定机制可以锁定 IO 口的配置,锁定一个端口位之后,直至下一次复位之前,将不能再更改端口位的配置 2.本例程软件设计思路 1 ...
- Spring Boot 框架学习笔记(五)( SpringSecurity安全框架 )
Spring Boot 框架学习笔记(五) SpringSecurity安全框架 概述 作用 开发示例: 1. 新建项目 2. 引入依赖 3. 编写`SecurityConfig`类,实现认证,授权, ...
最新文章
- JDK1.8 中的双冒号::是什么语法?
- 新浪微博的“独立”与互联网社区的“群居”
- 高级政工师具备的能力_一个合格的政工师应该具备哪些条件与素质
- 在AngularJS中读取查询参数的最简洁方法是什么?
- MySQL-一条sql语句的执行顺序
- Golang适合高并发场景的原因分析
- linux大容量硬盘 克隆到小硬盘_Linux添加新硬盘的挂载方法
- Golang 环境变量须知
- Android 性能分析岗位,2021Android最新大厂面试真题总结,架构师必备技能
- 【渝粤教育】国家开放大学2018年秋季 0700-22T中级会计实务(一) 参考试题
- 根据.jgwx配准文件绘制并加载图层
- 第九章 DirectX 输入和声音(下)
- Tortoiser三十集脱壳教程__ZC
- Kindle倒下,iReader接力
- minimax算法(井子棋)
- php怎么联网,家庭宽带上网连接方式
- 真正的人品,藏在对弱者的态度里
- DevOps之自动化测试
- idea的鼠标滚轮调整字体大小
- Google Chrome 浏览器常用快捷键
热门文章
- 计算机科目三教学设计,科目三详细教案.doc
- 泰克示波器MSO54B 5-BW-1000,4通道1G带宽
- 思考、创新、坚持——阿里做了七年前端,我的成长经验分享
- 解决ubuntu18.04输入法图标消失并无法输入中文的问题
- Chessboard(费用流 构图)
- 计算机坏了用英语怎么说,电脑坏了是什么意思
- spring context 学习总结(注解功能,配置文件,jar包)
- MYSQL千万级别数据量迁移Elasticsearch5.6.1实战
- 【统计学 第六周】抽样分布
- 结对编程项目-四则运算(第一周阶段性总结)