51uwb.cn

标题: 关于DW10000模块代码移植的问题 [打印本页]

作者: 刘电工    时间: 2022-9-6 13:58
标题: 关于DW10000模块代码移植的问题
1. 我现在用的DW10000测距代码做的移植,现在做的工作是SPI驱动,定时器,外部中断都已经测试,但是现在不确定收发正常不,至少都还没进中断,我看论坛中群主说可以分部测试,请指导一下,该如何测试,谢谢。
2. 模块初始化成功了,已经执行完 printf("init pass!\r\n");

作者: 蓝点无限    时间: 2022-9-6 22:46
如果用我们的新的代码框架移植
首先,定时器后期移植,直接for循环用delay控制发送周期。
其次,中断测试,测试 UWB 对应的单片机io可以正常进入中断,可以仿照uwb,通过外部强制拉io,看看是否会进入中断。
再次,最好移植的时候用我们的模块做参照。你自己一个模块,加我们的一个模块,你的模块发送,我们的模块接收。


还有一个重要提示,移植代码的时候不要在uwb中断加入打印信息,因为打印的时候,因为你在当前节点打印信息,就耽误了回送消息的时间了,另外一个模块等不及可能出现timeout异常,尽量用板子上LED灯指示调试
作者: 刘电工    时间: 2022-9-7 14:51
我现在已经吧打印信息删除了,但是依然只进人一次中断,void GPB_IRQHandler(void)
{
    /* To check if PB.2 interrupt occurred */
    if(GPIO_GET_INT_FLAG(PB, BIT7))
    {(*bphero_rxcallback)();
        GPIO_CLR_INT_FLAG(PB, BIT7);
        //printf("进中断了");     
                          LED_GREEN=~LED_GREEN;
    }
    else
    {
        /* Un-expected interrupt. Just clear all PB interrupts */
        PB->INTSRC = PB->INTSRC;
        printf("Un-expected interrupts.\n");
    }
},进去后我看是处理了回调函数后,IRQ的引脚还是高电平,是啥原因?
作者: 刘电工    时间: 2022-9-7 14:53
现在是用你的模块发送,我这边接收数据,之进入一次中断。
作者: 刘电工    时间: 2022-9-7 15:00
我想知道,我如何让中断IRQ重新拉低
作者: admin    时间: 2022-9-7 21:23
刘电工 发表于 2022-9-7 15:00
我想知道,我如何让中断IRQ重新拉低

把UWB状态寄存器打出来,看看那个中断引起的,对于没有用到的可以mask掉。

中断状态需要及时清楚,清楚状态寄存器(写1清零)




欢迎光临 51uwb.cn (http://51uwb.cn/) Powered by Discuz! X3.3