MarkOne 发表于 2025-12-20 22:23:24

关于stc8H单片机spi中断标志的问题

请教一下关于硬件spi只能接收/发送完一个数据后硬件中断,
而我是要一下接收2个字节的数据,比如MAX6675温度采集芯片,是
不是只能用软件的模拟spi的方式通信呢

神农鼎 发表于 2025-12-20 22:46:43

STC15W408AS单片机设计的K型热电偶温度控制显示报警器 - 开源广场及教学视频交流 国芯人工智能技术交流网站 - AI32位8051交流社区

MarkOne 发表于 2025-12-21 22:33:05

神农鼎 发表于 2025-12-20 22:46
STC15W408AS单片机设计的K型热电偶温度控制显示报警器 - 开源广场及教学视频交流 国芯人工智能技术交流网站 ...

第一个问题:上图这里是不是硬件置位0,不然与后面的软件方式写1清零相悖了;
第二个问题:STC8H单片机硬件spi是不是只支持一次接收/发送1个字节的数据。

_奶咖君_ 发表于 2025-12-22 08:56:03

MarkOne 发表于 2025-12-21 22:33
第一个问题:上图这里是不是硬件置位0,不然与后面的软件方式写1清零相悖了;
第二个问题:STC8H单片机硬 ...

写1清零寄存器 很正常的操作。

DebugLab 发表于 2025-12-22 10:53:37

直接使用硬件SPI都是接收一个字节中断一次的,和接收多少字节没有关系
接收多少字节就中断多少次,在中断函数内处理接收到的数据
接收多个字节存到xdata再中断,可以使用DMA,但DMA是部分型号才有的
部分寄存器写1清0是正常的,需要清0时按数据手册写1清0即可
这些寄存器的读0、读1、写0、写1,功能都是独立的

MarkOne 发表于 2025-12-23 22:13:11

DebugLab 发表于 2025-12-22 10:53
直接使用硬件SPI都是接收一个字节中断一次的,和接收多少字节没有关系
接收多少字节就中断多少次,在中断函 ...

谢谢解答,我的意思是,关于spi的中断标志位SPIF,数据手册上的是:当发送/接收完一个字节后,硬件自动将此位置1,而后又要我们软件写1清零,就是很不解,明明已经硬件置位1了,还要我们再软件写1清0,要是硬件自动置位0,软件再写1清零那就好理解了

MarkOne 发表于 2025-12-23 22:13:56

DebugLab 发表于 2025-12-22 10:53
直接使用硬件SPI都是接收一个字节中断一次的,和接收多少字节没有关系
接收多少字节就中断多少次,在中断函 ...

谢谢解答,我的意思是,关于spi的中断标志位SPIF,数据手册上的是:当发送/接收完一个字节后,硬件自动将此位置1,而后又要我们软件写1清零,就是很不解,明明已经硬件置位1了,还要我们再软件写1清0,要是硬件自动置位0,软件再写1清零那就好理解了

DebugLab 发表于 2025-12-24 08:35:14

MarkOne 发表于 2025-12-23 22:13
谢谢解答,我的意思是,关于spi的中断标志位SPIF,数据手册上的是:当发送/接收完一个字节后,硬件自动将 ...
这和单片机内部电路有关,按数据手册操作即可
页: [1]
查看完整版本: 关于stc8H单片机spi中断标志的问题