杰发科技AC7840——SPI通信简介(1)_跑通Demo

0. 简介

一些配置项:

CPHA:相序

CPLO:极性

看着demo需要按键,于是去掉按键,去掉打印,直接输出波形看逻辑分析仪的信号。

其实现在做这些demo测试应该都有逻辑分析仪,直接看波形更直观一点。

发现没有波形,而且时钟跟奇怪。看着只有几个信号

原来是采样速率设置太小了,只有500K,于是直接拉到最高50Mhz。

时钟OK,但是数据还是不对

仔细核对代码和配置项之后OK

1. 两个板子互相通信

其中经历了两三个小时的各种问题,包括但不限于线焊错了(PB3焊到旁边的PC14),动来动去PB2松了,MOSI和MISO接反了(我们的代码里面MOSI和MISO不需要互相换,因为使能了从机模式,做从机就是输入主机就是输出Master out slave in)。。。

主机代码修改如下

都是把其他代码屏蔽直接每隔100ms发送数据

cpp 复制代码
ret = SPI_DRV_MasterTransferBlocking(SPI_INSTANCE, g_spiTxBuff1, g_spiRxBuff1, DATA_SIZE, SPI_TIMEOUT); /*! SPI通信 */
OSIF_TimeDelay(100);

从机代码修改如下

cpp 复制代码
        ret = SPI_DRV_SlaveTransferBlocking(SPI_INSTANCE, g_spiTxBuff1, g_spiRxBuff1, DATA_SIZE, SPI_TIMEOUT); /*! SPI通信 */
        OSIF_TimeDelay(100);

主机从机的数组修改了下方便观察

至此SPI0已经跑起来了

2. 修改波特率

如下,测试,时钟源120M,波特率16M没问题,但是实际的时钟频率大概是10M。

波特率设置到到20以上,接收数据就乱了

3. 注意事项

超过2M需要设置为DMA模式:不用中断的原因是,需要频繁进入中断,CPU负载高的时候,SPI会出问题

相关推荐
qq_402995752 小时前
Secure Boot Part 2 —— 安全启动流程
arm开发·mcu·安全
jianqiang.xue21 小时前
ESP-IDF保姆级入门23|MQTT物联网通信全解:发布订阅模式/QoS等级/遗嘱消息/主题设计/断线重连,掌握工业级标准消息通信
stm32·单片机·mcu·物联网·51单片机·iot
youcans_1 天前
【嵌入式软件AI编程】01. 基于 STM32/Claude Code的AI编程
stm32·mcu·嵌入式·ai编程·claude code
小麦嵌入式1 天前
FPGA入门(十一):受控线性序列机 UART 发送升级
stm32·单片机·嵌入式硬件·mcu·fpga开发·硬件工程
jianqiang.xue1 天前
ESP-IDF保姆级入门29|FreeRTOS任务管理与调度全解:任务创建/状态切换/优先级调度/双核负载均衡/实时性优化,掌握嵌入式多任务编程核心
stm32·单片机·mcu·物联网·51单片机·iot
jianqiang.xue1 天前
ESP-IDF保姆级入门22|WiFi联网与网络编程全解:STA/AP双模式/TCP-UDP Socket/HTTP服务端/自动重连,掌握工业级可靠网络通信
人工智能·stm32·单片机·mcu·物联网·51单片机·iot
李永奉3 天前
中科蓝讯SDK开发-提示音音频文件格式转换和压缩教程
网络·单片机·嵌入式硬件·mcu·物联网
花 满 楼4 天前
RISC-V APLIC 中断模块总结——第二篇
单片机·嵌入式硬件·mcu·risc-v
花 满 楼5 天前
RISC-V APLIC 中断模块总结——第一篇
mcu·risc-v·中断·aplic
国科安芯6 天前
卫星电源管理系统中高可靠MCU的功耗特性与电源监控功能分析
人工智能·单片机·嵌入式硬件·mcu·安全·电源管理系统·抗辐射