硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1069|回复: 4
收起左侧

[有问必答] F407使用SPI中断的疑问

[复制链接]

8

主题

19

回帖

43

积分

新手上路

积分
43
发表于 2023-4-6 16:52:26 | 显示全部楼层 |阅读模式
使用标准库,想实现用SPI中断去进行数据通讯,以下是我的代码,能正常允许但是感觉这样写会有隐患,感觉应该SPI_I2S_IT_RXNE和SPI_I2S_IT_TXE都利用上才对,求大佬们指教


回复

使用道具 举报

8

主题

19

回帖

43

积分

新手上路

积分
43
 楼主| 发表于 2023-4-6 16:56:07 | 显示全部楼层
代码在 bsp_spi_bus.c (16.55 KB, 下载次数: 2) ,是基于V5 HAL库的 串行SPI Flash W25QXX读写例程 改的(不知道为啥截图没显示出来,直接分享源文件吧)

bsp_spi_bus.h

1.66 KB, 下载次数: 1

bsp_spi_flash.c

25.23 KB, 下载次数: 1

bsp_spi_flash.h

1.65 KB, 下载次数: 1

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2023-4-7 00:38:20 | 显示全部楼层
中断处理就用HAL库的就行。然后你在回调函数里面做处理。优势是各种标志位检测比较全面
回复

使用道具 举报

8

主题

19

回帖

43

积分

新手上路

积分
43
 楼主| 发表于 2023-4-7 09:05:51 | 显示全部楼层
eric2013 发表于 2023-4-7 00:38
中断处理就用HAL库的就行。然后你在回调函数里面做处理。优势是各种标志位检测比较全面

能有办法在工程里又用标准库又用HAL库吗?我现在的工程是基于标准库的,我想把HAL库的SPI中断和DMA中断改成标准库的
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2023-4-7 10:30:33 | 显示全部楼层
13450334834 发表于 2023-4-7 09:05
能有办法在工程里又用标准库又用HAL库吗?我现在的工程是基于标准库的,我想把HAL库的SPI中断和DMA中断改 ...

魔改HAL的中断代码即可,这些HAL API的底层都是寄存器,你直接将这些寄存器操作复制出来使用
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 22:30 , Processed in 0.315102 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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