当前位置: 首页 > wzjs >正文

台州经典网站建设费用上海最专业的seo公司

台州经典网站建设费用,上海最专业的seo公司,wordpress媒体库上传,seo排名工具哪个好一、说明 使用STM32F103C8T6最小系统板,让板载SPI1与SPI2通信,通过串口收发数据。本文章说明了在配置与编写时遇到的一些问题,以及详细说明如何使用cubeMAX进行代码编写。 二、CubeMAX配置 1.时钟配置选择外部高速时钟 2.系统模式与时钟配…

一、说明

使用STM32F103C8T6最小系统板,让板载SPI1与SPI2通信,通过串口收发数据。本文章说明了在配置与编写时遇到的一些问题,以及详细说明如何使用cubeMAX进行代码编写。

二、CubeMAX配置

1.时钟配置选择外部高速时钟

2.系统模式与时钟配置,选中Serial Wire模式(即 SWD 调试接口),用于连接 ST-Link 等调试工具。

3.将时钟配置为72分频,在这里一定要注意按回车确认72已经填入。

4.​选择 ​Full-Duplex Master(全双工主机模式),硬件 NSS 信号:已禁用(Disable Hardware NSS Signal),在这里要注意将波特率预分频改为256,图中右侧芯片引脚视图显示 ​SPI1 的引脚已自动分配,还要注意一点是NSS(片选)​未固定引脚,我们要在配置一下这个引脚为输出,此处右边选择PA4作为NSS。

5.选择 ​全双工主机模式(Full-Duplex Master)​。

6.配置串口1选择 ​Asynchronous(异步模式),即标准的 UART 串口通信(无同步时钟线),波特率设置为115200,USART1_TX(发送引脚)​:PA9,​USART1_RX(接收引脚)​:PA10。

7.点击项目管理(Project Manager),在Project Manager(项目管理)中工具链/IDE(Toolchain/IDE)​:选择 ​MDK-ARM(Keil)​,版本 ​V5.32​(需与本地安装的 Keil 版本匹配)。

8.勾选 ​​“Generate peripheral initialization as a pair of '.c/.h' files per peripheral”​,表示每个外设(如 SPI、USART)的初始化代码会独立生成到 Src 和 Inc 文件夹中,提升代码可读性和模块化。

9.点击GENERATE CODE生成代码,随后点击open即可打开CubeMAX生成的代码。

三、Keil代码编写

1.因为我们需要SPI1与SPI2互相收发数据,所以我们直接定义出全局变量,以便于我们后期修改数。

2.在while(1)主循环中添加如下代码,

HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET); // 拉低CS(启动通信)
  • 作用:通过拉低 GPIOA 的 PIN4(片选引脚 CS),选中连接的 SPI 从机设备。
  • 关键点:SPI 协议要求主机在通信前必须拉低从机的 CS 引脚,否则从机不会响应。
HAL_SPI_TransmitReceive(&hspi1, &spi1_tx_data, &spi1_rx_data, 1, 100);
  • 功能:通过 SPI1 同时发送 1 字节数据(0xFF)并接收 1 字节数据。
    • 发送数据spi1_tx_data 值为 0x66(可能用于触发从机返回数据)。
    • 接收数据:从机响应的数据存入 spi1_rx_data
  • 参数解析
    • &hspi1:SPI1 的句柄(需提前配置为 ​主机模式)。
    • 1:传输数据长度为 1 字节。
    • 100:超时时间(单位:毫秒)。
char msg[50];
sprintf(msg, "SPI1 Received: 0x%02X\r\n", spi1_rx_data);
HAL_UART_Transmit(&huart1, (uint8_t*)msg, strlen(msg), 100);sprintf(msg, "SPI2 Received: 0x%02X\r\n", spi2_rx_data);
HAL_UART_Transmit(&huart1, (uint8_t*)msg, strlen(msg), 100);

将 SPI 接收的数据格式化为字符串,并通过 UART1 发送。

#include "stdio.h"
#include "string.h"

sprintf()函数可能会报警告,这时应添加头函数。

HAL_Delay(500); // 延时500毫秒

每次循环间隔 500ms,避免频繁通信导致总线冲突或数据过载。

3.到此所有的代码添加完毕,点击“魔术棒”,查看ST-Link Debugger​是否勾选,点击进入Setting,勾选上Reset and Run这样在我们每次烧录完之后不需要再按下复位让单片机成功烧录。

四、现象展示

若与下图相同那么实验成功,也可以在全局变量更改接收的数值。

如出现一下现象,可能是未将单片机上SPI1的接口与SPI2的接口相连接起来,如下图接线。同时要注意ST-Link是无法打开串口数据的,要连接最小系统板的USB插口或用USB转TTL接杜邦线连接最小系统板上的A9,A10引脚。

SPI1             SPI2
SCK:  PA5 ---->  SCK:  PB13
MISO: PA6 ---->  MISO: PB14
MOSI: PA7 ---->  MOSI: PB15
CS:   PA4 ---->  CS:   PB12

http://www.dtcms.com/wzjs/594751.html

相关文章:

  • 网站建设php文件html文件如何学会推广和营销
  • 濮阳市城乡建设管理局网站建筑工程培训
  • 网站导航栏三根横线怎么做的做写手哪个网站好
  • 国内的网站空间如何快速的做网站
  • 浙江平湖建设局网站推进网站建设工作计划
  • 徐州网站建设要多少钱婚恋网站建设
  • 现在的官方网站怎么做的网站区域名是什么意思
  • 银行网站维护是做哪些1元1年xyz域名
  • 西安网站公司哪家好百度网盘在线登录
  • 爱发电怎么做网站四川城乡与住房建设部网站
  • 网站建站平台源码百度seo排名如何提升
  • 沧州网站建设服务器搭建网站跑不满宽带
  • 做网站赚钱吗 怎么赚网站建设定位分析论文
  • 网站开发需要什么证书甘肃模板型网站建设
  • 如何做区块链网站页游做的好的是哪个网站
  • 杭州建站网站建设个人网站备案填写要求
  • 百度做网站好吗简单的响应式网页实例
  • 哈尔滨网站免费制作wordpress建站全过程
  • 资阳市住房和城乡建设局网站哪个网站做黄金交易最好
  • 西安网站建设怎么叫人做网站
  • 图书馆网站参考咨询建设一个商城网站开发要多少时间
  • 收集链接 做网站北京今天新闻最新消息新闻
  • 网页设计购物网站免费代理招商网
  • 大连建设主管部门官方网站青岛菜西有做网站的吗
  • 公司网站建设模板wordpress漂亮手机网站
  • 山东建设网站公司手机在线制作图片加字
  • 网站建设开发有什么好处找人代做网站需要注意什么
  • 淘宝客网站制作教程中铁建设集团有限公司网站
  • 国外常用的seo站长工具友情链接中有个网站域名过期了会影响
  • 网站模板平台资源专业做网站联系方式