首页 > 编程知识 正文

dw是什么,java处理百万级数据

时间:2023-05-04 00:09:19 阅读:112713 作者:2105

系列文章DW1000开发笔记本(一) DW1000芯片概述DW1000开发笔记本)二)使用STM32硬件SPI STM32cubeMX HAL库测试DW1000通信DW1000开发笔记本)三) STM32 HAL

复制到以前移植的STM32CubeMX生成的项目文件中,并将文件名重命名为simple_tx_example.c。

添加到MDK项目:

2 .修改官方示例文件修改头文件:

修改函数名称,修改打印和延迟函数:

添加两个打印信息:

修改完成。

3 .调用示例代码获取main.c,移除我们之前自己添加的所有测试代码。

接下来,引入外部定义。

/* usercodebeginpfp */externintexample _ application _ entry (void );/*用户代码结束PFP * /然后用main函数调用:

/*用户代码begin2*/printf (dw 1000 uwbicportonbearpiboardbymculover 666 (r (n ) ); example_application_entry (;/*用户代码结尾2 * /需要注意:

此函数需要在GPIO、USART、SPI外设初始化完成之后调用

此函数中已经包含while(1)循环,所以此函数之后的代码无效

4 .移植结果编译、下载程序,通过串口助手查看打印日志:

样本程序移植成功了。

二、样本程序分析1 .轮询方式发送流程

2 .向缓冲器API DW1000配置API写入数据的定义为deca_device_api.h,实现在deca_device.c中,其原型如下:

int dwt _ writetxdata (uint 16 txframelength,uint8 *txFrameBytes,uint16 txBufferOffset ); 此函数将用户提供的待发送数据写入DW1000发送缓冲区

参考有三个,意思如下表所示。

参数的含义txFrameLength发送数据帧的总大小。 2字节的CRC验证数据,最多包含1023。 在标准PHR模式下,偏移值也有两个返回值,最多127字节的txFrameBytes开始向由发送给用户的数据txBufferOffset指定的DW1000发送缓冲区写入。

返回值含义DWT_SUCCESS写入成功DWT_ERROR写入错误在本示例中为发送的帧是802.15.4e标准闪烁,12字节:

static uint8tx _ msg [ ]={0x C5,0,d ',e ',c ',w ',v ',e ',0,0 }; 第0字节:帧类型(0xc5闪烁)第1字节)帧序列号,随着每次的新帧递增; 第2-9字节:设备id (在实际产品中应该是唯一的); 第10-11字节: CRC检查值,通过DW1000自动设定; 3 .配置发送帧控制寄存器API该API的定义在deca_device_api.h中在deca_device.c中实现,其原型如下。

void dwt _ writetxfctrl (uint 16 txframelength,uint16 txBufferOffset,int ranging )此函数为用来在发送之前配置发送帧控制寄存器

参考有三个,意思如下表所示。

参数的含义txFrameLength发送数据帧的总大小。 2字节的CRC验证数据,最多包含1023。 在标准PHR模式中,可以在最多127字节的txBufferOffset中指定开始向DW1000的发送缓冲器写入的偏移测距。 在这是范围帧情况下为1,在其他情况下为0.4 .立即开始数据API的发送

intdwt_starttx(uint8mode )此函数用来立即开始一次发送

只有一个参考,意思如下表所示。

值0是立即发送,响应1是延迟发送,响应2是立即发送,响应(所以发送完成后自动接通接收机) 3是延迟发送,响应(所以发送完成后自动接通接收机),这些值有对应的宏定义。

//definedconstantsfor ' mode ' bitmaskparameterpassedintodwt _ starttx (function.# defined wt _ start _ tx _ immediar

返回值含义DWT_SUCCESS发送成功DWT_ERROR发送错误(经过延迟时间时,延迟发送失败)5.查询中断标志寄存器while (! (dwt _ read 32位reg (sys _ status _ id ) SYS_STATUS_TXFRS ) }; dwt _ read 32位reg用于读取DW1000的32位寄存器。 SYS_STATUS_ID表示系统状态寄存器(系统事件状态寄存器)的ID。

# definesys _ status _ id0x 0f/* systemeventstatusregister */sys _ status _ txFRS表示此寄存器的tx FRS位,该位在发送完成后1

# definesys _ status _ tx FRS0x 00000080 ul/* transmitframesent 3360 thisissetwhenthetransmitterhascompletedthesendingofaframe

意味着查询设置完毕后,发送完成,如果使用以下行代码在该位中写1,则该位将被清零以供下次发送。 此外,当下次发送使能后,该位会被自动清空:

dwt _ write32位reg (sys _ status _ id,SYS_STATUS_TXFRS ); 至此,DW1000发送并移植了示例代码,学习完成。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。