打印
[STM32F4]

模块发送失败

[复制链接]
902|32
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhenykun|  楼主 | 2020-5-10 14:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
TE, RF, spi, pi, ST
SX1278 Lora
以下是发送函数
uint8_t SpiInOut( uint8_t outData )
{
        uint8_t lmGET_data;

        HAL_SPI_TransmitReceive(&hspi1, &outData, &lmGET_data, 1, SPI_TIMEOUT);

        return lmGET_data;
}      


但是此处 DIO0  一直不能置位,各位大神支支招啊,万分感谢!!!
case RFLR_STATE_TX_RUNNING:
        if( DIO0 == 1 ) // TxDone
        {
            // Clear Irq
            SX1276Write( REG_LR_IRQFLAGS, RFLR_IRQFLAGS_TXDONE  );
            RFLRState = RFLR_STATE_TX_DONE;   
        }

使用特权

评论回复
沙发
xxrs| | 2020-5-10 14:49 | 只看该作者
发送缓存什么状态

使用特权

评论回复
板凳
morrisk| | 2020-5-10 14:52 | 只看该作者
没个例子参考?这破芯片公司没提供参考吗

使用特权

评论回复
地板
guoyt| | 2020-5-10 14:55 | 只看该作者
Lora 模块距离有多远?

使用特权

评论回复
5
wangpe| | 2020-5-10 14:59 | 只看该作者
还没有玩过 Lora 模块?有推荐模块吗

使用特权

评论回复
6
wangzsa| | 2020-5-10 15:03 | 只看该作者
直接咨询模块厂家

使用特权

评论回复
7
wangzsa| | 2020-5-10 15:04 | 只看该作者
直接咨询模块厂家

使用特权

评论回复
8
huanghuac| | 2020-5-10 15:08 | 只看该作者
main
{

hanshu1();

hanshu2();

while(1)
{
hanshu3();
}
}


hanshu3
{
语句1;
语句2;
语句3;
}

外部中断启动,在hanshu3执行过程中发生了外部中断,执行完成中断函数的代码后,按照机制返回断点继续执行hanshu3,但是不想让它返回断点继续执行了,需要从main或者while重新开始,用什么指令或者方法来跳转呢?

使用特权

评论回复
9
pangb| | 2020-5-10 15:11 | 只看该作者
复位一下, 简单粗暴,什么都没啦

使用特权

评论回复
10
pangb| | 2020-5-10 15:18 | 只看该作者
continue  或者  goto 试试

使用特权

评论回复
11
morrisk| | 2020-5-10 15:21 | 只看该作者
OS 里有完整的中断返回转移到其他地方的方法.

参考这个方法, 你可以把 main 入口出寄存器文件存起来, 中断函数里清理堆栈数据和寄存器, 修改.堆栈里的寄存器内容

使用特权

评论回复
12
xxmmi| | 2020-5-10 15:32 | 只看该作者

你自己写段程序,跳到MAIN也可以啊

使用特权

评论回复
13
huanghuac| | 2020-5-10 15:36 | 只看该作者
好复杂啊 没这么写过 不知道咋写

使用特权

评论回复
14
huwr| | 2020-5-10 15:39 | 只看该作者

除了LR弹出堆栈其他寄存器
ldr pc, = main

使用特权

评论回复
15
juventus9554| | 2020-5-10 15:42 | 只看该作者

goto最好了。一步到位。

使用特权

评论回复
16
bqyj| | 2020-5-10 15:49 | 只看该作者
8楼的办法, 表明上是能实现的.
但有个缺陷, 不知道中断前, 主程序跑到哪里, 有没有压入数据进堆栈. 你得把所有压入堆栈的数据都清理出来. 否则堆栈数据越来越多, 最好必然会堆栈溢出.

使用特权

评论回复
17
wenfen| | 2020-5-10 15:52 | 只看该作者
所以最好所有寄存器文件(包括 SP) 一起恢复到 main() 入口处的寄存器.

使用特权

评论回复
18
yinxiangh| | 2020-5-10 15:57 | 只看该作者

goto 语句比较简单

使用特权

评论回复
19
ousj| | 2020-5-10 16:00 | 只看该作者
使用汇编也可以实现

使用特权

评论回复
20
zhenykun|  楼主 | 2020-5-10 16:15 | 只看该作者

另外, 根据 ARM 内核的介绍, 中断里 LR 是个状态参数. 所以你的返回还得用中断返回来实现,
而不能使用 LDR PC, = main

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

868

主题

11535

帖子

3

粉丝