OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4145|回复: 5

求教:F103ZET6SPI发送和接收回调函数只能触发一次

[复制链接]

3

主题

16

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2021-7-11
在线时间
11 小时
发表于 2021-12-6 21:24:57 | 显示全部楼层 |阅读模式
1金钱
我将SPI的发送端口和接收端口接到一起,使用定时器每1S发送一次数据,自己发自己收(一次发送10个字节),测试的情况是:第一次发送完能正常进入发送回调函数(void  HAL_SPI_TxCpltCallback(SPI_HandleTypeDef *hspi))和接收回调函数(void  HAL_SPI_RxCpltCallback(SPI_HandleTypeDef *hspi))
但是查看接收到的数据都为0,再继续发送时就提示报错了,然后也不能进入回调函数,不知道是哪里的问题,查了下资料也没遗漏什么步骤啊。那个大佬能帮我看下,不胜感激!


HAL_SPI_MspInit.png
MX_SPI1_Init.png
回调函数.png
定时1S发送一次.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

16

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2021-7-11
在线时间
11 小时
 楼主| 发表于 2021-12-6 21:26:50 | 显示全部楼层
还有个问题:
void HAL_SPI_ErrorCallback(SPI_HandleTypeDef *hspi)
{
        uint32_t  data3 = 0;
        data3++;
        data3 = HAL_SPI_GetError(SPI_HandleTypeDef *hspi);
}

这个函数怎么用的,报错的回调函数没有触发。然后这一行一直提示错误“data3 = HAL_SPI_GetError(SPI_HandleTypeDef *hspi);”
回复

使用道具 举报

1

主题

108

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2020-3-15
在线时间
28 小时
发表于 2021-12-7 09:40:05 | 显示全部楼层
别发太快
回复

使用道具 举报

0

主题

668

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1926
金钱
1926
注册时间
2021-8-13
在线时间
262 小时
发表于 2021-12-7 10:18:23 | 显示全部楼层
同楼上想法一致
回复

使用道具 举报

3

主题

16

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2021-7-11
在线时间
11 小时
 楼主| 发表于 2021-12-7 11:47:18 | 显示全部楼层
Tlava 发表于 2021-12-7 10:18
同楼上想法一致

你是说发送的时钟太快了吗
回复

使用道具 举报

0

主题

8

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2020-3-12
在线时间
7 小时
发表于 2022-2-25 14:10:43 | 显示全部楼层
一样的问题 啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-28 03:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表