am335x开发板
来源:互联网 发布:空间psd源码 编辑:程序博客网 时间:2024/05/22 13:57
AM335X的SPI接口有四种不同的数据传输时序,取决于CPOL和CPHL这两位的组合。图1中表现了这四种时序,时序与CPOL、CPHL的关系也可以从图中看出。
CPOL是用来决定SCK时钟信号空闲时的电平,CPOL=0,空闲电平为低电平,CPOL=1时,
空闲电平为高电平。CPHA是用来决定采样时刻的,CPHA=0,在每个周期的第一个时钟沿采样,
CPHA=1,在每个周期的第二个时钟沿采样。
经由上面我们就可以比对实际设备的时序来对SPI的MODE进行配置了。
找到头文件里的SPI mode的一定义如下:
#define SPI_CPHA 0x01 /* clock phase */
#define SPI_CPOL 0x02 /* clock polarity */
#define SPI_MODE_0 (0|0) /* (original MicroWire) */
#define SPI_MODE_1 (0|SPI_CPHA)
#define SPI_MODE_2 (SPI_CPOL|0)
#define SPI_MODE_3 (SPI_CPOL|SPI_CPHA)
大家很容易可以分析出SPI四种模式的配置了吧,后面的速率,字节数就都很好配置了。
int Spi0Mode = SPI_MODE_2; //配置模式
ioctl(Spi0Handle, SPI_IOC_WR_MODE, &Spi0Mode);
ioctl(Spi0Handle, SPI_IOC_RD_MODE, &Spi0Mode);
struct spi_ioc_transfer sSpi0TR;
sSpi0TR.speed_hz = 6000000; //配置速率6M
ioctl(Spi0Handle, SPI_IOC_WR_MAX_SPEED_HZ, &sSpi0TR.speed_hz);
ioctl(Spi0Handle, SPI_IOC_RD_MAX_SPEED_HZ, &sSpi0TR.speed_hz);
sSpi0TR.bits_per_word =16; //配置字节数
sSpi0TR.len = 2;
配置好了后,就是读写了,读写需要注意的参数有两个地方:
1,tx_buf,rx_buf这两个参数决定了SPI的读写,如果只读或只写的情况下,就把另一个不用的参数=NULL。
2,SPI_IOC_MESSAGE(N)这里的N决定了SPI操作的次数,如果你想连接读写几次SPI就改变N就是了
ioctl(Spi0Handle, SPI_IOC_WR_BITS_PER_WORD, &sSpi0TR.bits_per_word);
ioctl(Spi0Handle, SPI_IOC_RD_BITS_PER_WORD, &sSpi0TR.bits_per_word);
- am335x开发板
- AM335x的QT5开发环境搭建-开发板AM335x EVM
- am335X 开发板上修改IP地址
- *** am335x开发板的疑问以及解答
- am335x开发板的疑问以及解答
- TI AM335X几款开发板推荐
- AM335X 开发板安装vsftpd操作流程
- *** am335x开发板的疑问以及解答
- 移植NTP到AM335X开发板
- am335x开发板的疑问以及解答
- AM335X开发板产品板IAC-335X-Kit
- u-boot 程序执行流程记录(am335x 开发板)
- 推荐几款开发板TI AM335X NXP IMX6UL
- am335x嵌入式开发-GPIO操作
- AM335x的SDK-1.0开发环境搭建-开发板beaglebone black
- 飞凌嵌入式Cortex A8开发板选型指南 S5PV210 or AM335X?
- Buildroot制作根文件系统过程(基于MYD-AM335X开发板)
- 飞凌AM335x开发板Linux系统应用程序添加到桌面的方法
- spring5整合spring-data-redis2做查询缓存
- Android获取音乐专辑封面图
- leetcode 561. Array Partition I
- 破解教程 第五课 用w32dasm破解的一般步骤
- java函数方法参数传递方式机制-值传递还是引用传递(传值或传引用)
- am335x开发板
- 人工智能的未来是否真的会成为工人的乌托邦?
- 旧金山安保机器人驱赶流浪汉,已被解雇
- 如何在组策略中添加开机启动项
- 用automake建立共享库(动态链接库)Makefile
- MQTT学习——Centos7上安装Mosquitto和使用
- 64位Windows10下tensorflow的安装
- 关于官方教程Space Shooter子弹生成部分提示MissingReferenceException的解决办法
- (CURD)