51uwb.cn

 找回密码
 立即注册
查看: 3083|回复: 5
打印 上一主题 下一主题

关于DW10000模块代码移植的问题

[复制链接]

3

主题

6

帖子

21

积分

新手上路

Rank: 1

积分
21
跳转到指定楼层
楼主
发表于 2022-9-6 13:58:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. 我现在用的DW10000测距代码做的移植,现在做的工作是SPI驱动,定时器,外部中断都已经测试,但是现在不确定收发正常不,至少都还没进中断,我看论坛中群主说可以分部测试,请指导一下,该如何测试,谢谢。
2. 模块初始化成功了,已经执行完 printf("init pass!\r\n");
回复

使用道具 举报

35

主题

1053

帖子

4531

积分

管理员

Rank: 9Rank: 9Rank: 9

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


还有一个重要提示,移植代码的时候不要在uwb中断加入打印信息,因为打印的时候,因为你在当前节点打印信息,就耽误了回送消息的时间了,另外一个模块等不及可能出现timeout异常,尽量用板子上LED灯指示调试
回复

使用道具 举报

3

主题

6

帖子

21

积分

新手上路

Rank: 1

积分
21
板凳
 楼主| 发表于 2022-9-7 14:51: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的引脚还是高电平,是啥原因?
回复

使用道具 举报

3

主题

6

帖子

21

积分

新手上路

Rank: 1

积分
21
地板
 楼主| 发表于 2022-9-7 14:53:00 | 只看该作者
现在是用你的模块发送,我这边接收数据,之进入一次中断。
回复

使用道具 举报

3

主题

6

帖子

21

积分

新手上路

Rank: 1

积分
21
5#
 楼主| 发表于 2022-9-7 15:00:10 | 只看该作者
我想知道,我如何让中断IRQ重新拉低
回复

使用道具 举报

22

主题

55

帖子

848

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
848
6#
发表于 2022-9-7 21:23:58 | 只看该作者
刘电工 发表于 2022-9-7 15:00
我想知道,我如何让中断IRQ重新拉低

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

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

使用道具 举报

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

本版积分规则

bphero Inc.  

GMT+8, 2024-11-23 18:42 , Processed in 0.015325 second(s), 4 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

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