你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

mbed开发,怎么实现SPI从机的接收中断?

[复制链接]
adlu 提问时间:2016-11-25 10:30 /
阅读主题, 点击返回1楼
收藏 2 评论23 发布时间:2016-11-25 10:30
23个回答
zbber 回答时间:2017-1-3 15:57:19
mbed确实不了解
Dylan疾风闪电 回答时间:2017-1-3 16:53:13
本帖最后由 Dylan疾风闪电 于 2017-1-3 16:54 编辑

方法有2:
1)参考网站上的API帮助说明。
SPI从机的代码:
SPISlave spi_slave(p11, p12, p13, p14); // mosi, miso, sclk, ssel
Serial pc(USBTX,USBRX);
int main() {
    spi_slave.format(8,3);
    while(1) {
        while(spi_slave.receive())
        {
            pc.putc( spi_slave.read());
            spi_slave.reply('K');
        }
    }

}

新建位图图像.jpg

2)使用mbed在线编译网站,然后导入别人写好的SPI例程来学习、验证。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

adlu 回答时间:2017-1-3 17:14:19
本帖最后由 adlu 于 2017-1-3 17:17 编辑
Dylan疾风闪电 发表于 2017-1-3 16:53
方法有2:
1)参考网站上的API帮助说明。
SPI从机的代码:SPISlave spi_slave(p11, p12, p13, p14); // mos ...

多谢解答。虽然没有彻底解决问题,算是最好的解答了。
我把你提供的连接写在下面,供大家参考。
http://mbed.smeshlink.com/cookbook/35-mbed-spi
zhjb1 回答时间:2017-1-3 20:56:33
本帖最后由 zhjb1 于 2017-1-3 21:01 编辑

采用mbed好说,mbed中要采用中断需要将这个对象类采用attach方法就可以了。我没有F103的板子,但在其他板子上实验成功了,当RX接收到数据时,自动进入中断处理函数,我的函数写的简单,只是收到后立即发送到TX。
大致是:
先定义一个对象类:
RawSerial prtOut(P0_xx,P0_yy);//xx,yy代表采用的IO口号
对象名称为:prtOut
在ioInit()函数中设置波特率:
prtOut.baud(115200);
在main前边编写串口函数[读1个字节立即写出去1个字节]:
//Serial get & put a Cara.
void gpsIn(void){
if(prtOut.readable()){
  temp=prtOut.getc();prtOut.putc(temp);
}
}
采用中断方式获取数据,参考案例,中断方式需要用attach()方法,因此在main中加入[不是while循环中!]:
prtOut.attach(&gpsIn);
这样当rx[你定义的P0_xx口]有信号,自动进入中断处理函数了。
试试吧。Sorry。没有看到沙发的回答,他的方法是对的!
adlu 回答时间:2017-1-3 21:45:21
zhjb1 发表于 2017-1-3 20:56
采用mbed好说,mbed中要采用中断需要将这个对象类采用attach方法就可以了。我没有F103的板子,但在其他板子 ...

(⊙o⊙)…谢谢解答。但是你还没看帖子的标题吧?

沙发是我占的,举的是串口接收中断的例子。
我想知道的是SPI从机模式下接收中断的例子,目前并mbed并没有提供SPI从机的attach方法。
五哥1 回答时间:2017-1-4 02:41:42
这个可以学习下
zhjb1 回答时间:2017-1-4 07:35:11
adlu 发表于 2017-1-3 21:45
(⊙o⊙)…谢谢解答。但是你还没看帖子的标题吧?

沙发是我占的,举的是串口接收中断的例子。

从机是以接收终端开始,主机是从发送开始——这是我的理解。
mbed看是没有,但可以举一反三,我就这样成功了。开发上也是这么用的,毫无问题。你也可以试试。
如果理解不对就算白说,技术问题只有讨论才能更清楚,是吗?
yiturn 回答时间:2017-1-4 09:07:46
这个MBED,貌似很适合初学者啊
anywill 回答时间:2017-1-25 23:31:00
adlu 发表于 2017-1-3 17:14
多谢解答。虽然没有彻底解决问题,算是最好的解答了。
我把你提供的连接写在下面,供大家参考。
http://mb ...

翻了翻mbed 的api,现在还没有出spi的中断api。
所以暂时无解
12

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版