源码/核心板/MDK-ARM/Project.uvoptx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
源码/核心板/MDK-ARM/Project.uvprojx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
源码/核心板/Src/ExternalDevices/dw_driver.c | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
源码/核心板/Src/ExternalDevices/dw_driver.h | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
源码/核心板/Src/ExternalDevices/led.h | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
源码/核心板/Src/OnChipDevices/Rcc_Nvic_Systick.c | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
源码/核心板/Src/OnChipDevices/Rcc_Nvic_Systick.h | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
源码/核心板/Src/OnChipDevices/Spi.c | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
源码/核心板/Src/decadriver/deca_device.c | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
源码/核心板/Src/main.c | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Ô´Âë/ºËÐİå/MDK-ARM/Project.uvoptx
@@ -101,6 +101,8 @@ <sRunDeb>0</sRunDeb> <sLrtime>0</sLrtime> <bEvRecOn>1</bEvRecOn> <bSchkAxf>0</bSchkAxf> <bTchkAxf>0</bTchkAxf> <nTsel>1</nTsel> <sDll></sDll> <sDllPa></sDllPa> @@ -208,6 +210,10 @@ <pszMrule></pszMrule> <pSingCmds></pSingCmds> <pMultCmds></pMultCmds> <pMisraNamep></pMisraNamep> <pszMrulep></pszMrulep> <pSingCmdsp></pSingCmdsp> <pMultCmdsp></pMultCmdsp> </TargetOption> </Target> @@ -291,6 +297,8 @@ <sRunDeb>0</sRunDeb> <sLrtime>0</sLrtime> <bEvRecOn>1</bEvRecOn> <bSchkAxf>0</bSchkAxf> <bTchkAxf>0</bTchkAxf> <nTsel>1</nTsel> <sDll></sDll> <sDllPa></sDllPa> @@ -398,6 +406,10 @@ <pszMrule></pszMrule> <pSingCmds></pSingCmds> <pMultCmds></pMultCmds> <pMisraNamep></pMisraNamep> <pszMrulep></pszMrulep> <pSingCmdsp></pSingCmdsp> <pMultCmdsp></pMultCmdsp> </TargetOption> </Target> @@ -481,6 +493,8 @@ <sRunDeb>0</sRunDeb> <sLrtime>0</sLrtime> <bEvRecOn>1</bEvRecOn> <bSchkAxf>0</bSchkAxf> <bTchkAxf>0</bTchkAxf> <nTsel>1</nTsel> <sDll></sDll> <sDllPa></sDllPa> @@ -588,6 +602,10 @@ <pszMrule></pszMrule> <pSingCmds></pSingCmds> <pMultCmds></pMultCmds> <pMisraNamep></pMisraNamep> <pszMrulep></pszMrulep> <pSingCmdsp></pSingCmdsp> <pMultCmdsp></pMultCmdsp> </TargetOption> </Target> @@ -671,6 +689,8 @@ <sRunDeb>0</sRunDeb> <sLrtime>0</sLrtime> <bEvRecOn>1</bEvRecOn> <bSchkAxf>0</bSchkAxf> <bTchkAxf>0</bTchkAxf> <nTsel>1</nTsel> <sDll></sDll> <sDllPa></sDllPa> @@ -778,6 +798,10 @@ <pszMrule></pszMrule> <pSingCmds></pSingCmds> <pMultCmds></pMultCmds> <pMisraNamep></pMisraNamep> <pszMrulep></pszMrulep> <pSingCmdsp></pSingCmdsp> <pMultCmdsp></pMultCmdsp> </TargetOption> </Target> @@ -861,6 +885,8 @@ <sRunDeb>0</sRunDeb> <sLrtime>0</sLrtime> <bEvRecOn>1</bEvRecOn> <bSchkAxf>0</bSchkAxf> <bTchkAxf>0</bTchkAxf> <nTsel>1</nTsel> <sDll></sDll> <sDllPa></sDllPa> @@ -968,6 +994,10 @@ <pszMrule></pszMrule> <pSingCmds></pSingCmds> <pMultCmds></pMultCmds> <pMisraNamep></pMisraNamep> <pszMrulep></pszMrulep> <pSingCmdsp></pSingCmdsp> <pMultCmdsp></pMultCmdsp> </TargetOption> </Target> @@ -1051,6 +1081,8 @@ <sRunDeb>0</sRunDeb> <sLrtime>0</sLrtime> <bEvRecOn>1</bEvRecOn> <bSchkAxf>0</bSchkAxf> <bTchkAxf>0</bTchkAxf> <nTsel>3</nTsel> <sDll></sDll> <sDllPa></sDllPa> @@ -1213,6 +1245,10 @@ <pszMrule></pszMrule> <pSingCmds></pSingCmds> <pMultCmds></pMultCmds> <pMisraNamep></pMisraNamep> <pszMrulep></pszMrulep> <pSingCmdsp></pSingCmdsp> <pMultCmdsp></pMultCmdsp> <DebugDescription> <Enable>1</Enable> <EnableLog>0</EnableLog> @@ -1627,7 +1663,7 @@ </Group> <Group> <GroupName>platform</GroupName> <GroupName>OnChipDevices</GroupName> <tvExp>1</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <cbSel>0</cbSel> @@ -1639,34 +1675,14 @@ <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <bDave2>0</bDave2> <PathWithFileName>..\Src\platform\port.c</PathWithFileName> <FilenameWithoutPath>port.c</FilenameWithoutPath> <RteFlg>0</RteFlg> <bShared>0</bShared> </File> </Group> <Group> <GroupName>OnChipDevices</GroupName> <tvExp>1</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <cbSel>0</cbSel> <RteFlg>0</RteFlg> <File> <GroupNumber>6</GroupNumber> <FileNumber>33</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <bDave2>0</bDave2> <PathWithFileName>..\Src\OnChipDevices\Usart.c</PathWithFileName> <FilenameWithoutPath>Usart.c</FilenameWithoutPath> <RteFlg>0</RteFlg> <bShared>0</bShared> </File> <File> <GroupNumber>6</GroupNumber> <FileNumber>34</FileNumber> <GroupNumber>5</GroupNumber> <FileNumber>33</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1677,8 +1693,8 @@ <bShared>0</bShared> </File> <File> <GroupNumber>6</GroupNumber> <FileNumber>35</FileNumber> <GroupNumber>5</GroupNumber> <FileNumber>34</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1697,8 +1713,8 @@ <cbSel>0</cbSel> <RteFlg>0</RteFlg> <File> <GroupNumber>7</GroupNumber> <FileNumber>36</FileNumber> <GroupNumber>6</GroupNumber> <FileNumber>35</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1709,8 +1725,8 @@ <bShared>0</bShared> </File> <File> <GroupNumber>7</GroupNumber> <FileNumber>37</FileNumber> <GroupNumber>6</GroupNumber> <FileNumber>36</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> Ô´Âë/ºËÐİå/MDK-ARM/Project.uvprojx
@@ -10,6 +10,7 @@ <TargetName>STM32100E-EVAL</TargetName> <ToolsetNumber>0x4</ToolsetNumber> <ToolsetName>ARM-ADS</ToolsetName> <uAC6>0</uAC6> <TargetOption> <TargetCommonOption> <Device>STM32F100ZE</Device> @@ -551,16 +552,6 @@ </Files> </Group> <Group> <GroupName>platform</GroupName> <Files> <File> <FileName>port.c</FileName> <FileType>1</FileType> <FilePath>..\Src\platform\port.c</FilePath> </File> </Files> </Group> <Group> <GroupName>OnChipDevices</GroupName> <Files> <File> @@ -601,6 +592,7 @@ <TargetName>STM3210E-EVAL_XL</TargetName> <ToolsetNumber>0x4</ToolsetNumber> <ToolsetName>ARM-ADS</ToolsetName> <uAC6>0</uAC6> <TargetOption> <TargetCommonOption> <Device>STM32F103ZG</Device> @@ -1142,16 +1134,6 @@ </Files> </Group> <Group> <GroupName>platform</GroupName> <Files> <File> <FileName>port.c</FileName> <FileType>1</FileType> <FilePath>..\Src\platform\port.c</FilePath> </File> </Files> </Group> <Group> <GroupName>OnChipDevices</GroupName> <Files> <File> @@ -1192,6 +1174,7 @@ <TargetName>STM32100B-EVAL</TargetName> <ToolsetNumber>0x4</ToolsetNumber> <ToolsetName>ARM-ADS</ToolsetName> <uAC6>0</uAC6> <TargetOption> <TargetCommonOption> <Device>STM32F102CB</Device> @@ -1733,16 +1716,6 @@ </Files> </Group> <Group> <GroupName>platform</GroupName> <Files> <File> <FileName>port.c</FileName> <FileType>1</FileType> <FilePath>..\Src\platform\port.c</FilePath> </File> </Files> </Group> <Group> <GroupName>OnChipDevices</GroupName> <Files> <File> @@ -1783,6 +1756,7 @@ <TargetName>STM3210C-EVAL</TargetName> <ToolsetNumber>0x4</ToolsetNumber> <ToolsetName>ARM-ADS</ToolsetName> <uAC6>0</uAC6> <TargetOption> <TargetCommonOption> <Device>STM32F107VC</Device> @@ -2324,16 +2298,6 @@ </Files> </Group> <Group> <GroupName>platform</GroupName> <Files> <File> <FileName>port.c</FileName> <FileType>1</FileType> <FilePath>..\Src\platform\port.c</FilePath> </File> </Files> </Group> <Group> <GroupName>OnChipDevices</GroupName> <Files> <File> @@ -2374,6 +2338,7 @@ <TargetName>STM3210E-EVAL</TargetName> <ToolsetNumber>0x4</ToolsetNumber> <ToolsetName>ARM-ADS</ToolsetName> <uAC6>0</uAC6> <TargetOption> <TargetCommonOption> <Device>STM32F103ZE</Device> @@ -2915,16 +2880,6 @@ </Files> </Group> <Group> <GroupName>platform</GroupName> <Files> <File> <FileName>port.c</FileName> <FileType>1</FileType> <FilePath>..\Src\platform\port.c</FilePath> </File> </Files> </Group> <Group> <GroupName>OnChipDevices</GroupName> <Files> <File> @@ -2966,6 +2921,7 @@ <ToolsetNumber>0x4</ToolsetNumber> <ToolsetName>ARM-ADS</ToolsetName> <pCCUsed>5060422::V5.06 update 4 (build 422)::ARMCC</pCCUsed> <uAC6>0</uAC6> <TargetOption> <TargetCommonOption> <Device>STM32F103T8</Device> @@ -3503,16 +3459,6 @@ <FileName>deca_range_tables.c</FileName> <FileType>1</FileType> <FilePath>..\Src\decadriver\deca_range_tables.c</FilePath> </File> </Files> </Group> <Group> <GroupName>platform</GroupName> <Files> <File> <FileName>port.c</FileName> <FileType>1</FileType> <FilePath>..\Src\platform\port.c</FilePath> </File> </Files> </Group> Ô´Âë/ºËÐİå/Src/ExternalDevices/dw_driver.c
@@ -1,4 +1,5 @@ #include "dw_driver.h" #include "deca_device_api.h" void Reset_DW1000(void) { @@ -49,12 +50,16 @@ EXTI_InitStructure.EXTI_Line = DECAIRQ_EXTI; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; //MPW3 IRQ polarity is high by default EXTI_InitStructure.EXTI_LineCmd = DISABLE; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure); } //读åå¤é¨ä¸æç¶æ ITStatus Get_Ext_IRQ_Statues(void) { return EXTI_GetITStatus(DECAIRQ_EXTI); } //使è½å¤é¨ä¸æ @@ -66,7 +71,7 @@ //ç¦æ¢å¤é¨ä¸æ void Disable_Ext_IRQ(void) { NVIC_DisnableIRQ(DECAIRQ_EXTI_IRQn); NVIC_DisableIRQ(DECAIRQ_EXTI_IRQn); } /*! ------------------------------------------------------------------------------------------------------------------ @@ -85,11 +90,11 @@ */ decaIrqStatus_t decamutexon(void) { decaIrqStatus_t s = port_GetEXT_IRQStatus(); decaIrqStatus_t s = Get_Ext_IRQ_Statues(); if(s) { port_DisableEXT_IRQ(); //disable the external interrupt line Disable_Ext_IRQ(); //disable the external interrupt line } return s ; // return state before disable, value is used to re-enable in decamutexoff call } @@ -113,6 +118,7 @@ { if(s) //need to check the port state as we can't use level sensitive interrupt on the STM ARM { port_EnableEXT_IRQ(); Enable_Ext_IRQ(); } } } Ô´Âë/ºËÐİå/Src/ExternalDevices/dw_driver.h
@@ -18,5 +18,6 @@ #define deca_sleep(...) delay_ms(__VA_ARGS__) void Reset_DW1000(void); void DW_GPIO_Init(void); #endif Ô´Âë/ºËÐİå/Src/ExternalDevices/led.h
@@ -6,10 +6,11 @@ #define LED0_PIN GPIO_Pin_8 #define LED0_GPIO GPIOA #define LED_BLINK(...) GPIO_Toggle(...) #define LED_BLINK(...) GPIO_Toggle(__VA_ARGS__) #define LED0_BLINK LED_BLINK(LED0_GPIO, LED0_PIN) void Led_Init(void); void GPIO_Toggle(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin); #endif Ô´Âë/ºËÐİå/Src/OnChipDevices/Rcc_Nvic_Systick.c
@@ -48,7 +48,7 @@ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4); /* Enable and set EXTI Interrupt to the lowest priority */ NVIC_InitStructure.NVIC_IRQChannel = EXTI2_IRQn; NVIC_InitStructure.NVIC_IRQChannel = DECAIRQ_EXTI_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 15; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; @@ -65,7 +65,7 @@ while (time_retry--); return 1; } NVIC_SetPriority (SysTick_IRQn, 5); NVIC_SetPriority(SysTick_IRQn, 5); return 0; Ô´Âë/ºËÐİå/Src/OnChipDevices/Rcc_Nvic_Systick.h
@@ -4,6 +4,8 @@ #include "stm32f10x.h" #define DECAIRQ_EXTI_IRQn EXTI2_IRQn void Rcc_Init(void); void Nvic_Init(void); int Systick_Init(void); Ô´Âë/ºËÐİå/Src/OnChipDevices/Spi.c
@@ -1,4 +1,5 @@ #include "Spi.h" #include "deca_device_api.h" void Spi_Init(void) { @@ -79,12 +80,12 @@ * Takes two separate byte buffers for write header and write data * returns 0 for success, or -1 for error */ int writetospi_serial int writetospi ( uint16_t headerLength, const uint8_t *headerBuffer, uint32_t bodylength, const uint8_t *bodyBuffer uint16 headerLength, const uint8 *headerBuffer, uint32 bodylength, const uint8 *bodyBuffer ) { @@ -130,12 +131,12 @@ * returns the offset into read buffer where first byte of read data may be found, * or returns -1 if there was an error */ int readfromspi_serial int readfromspi ( uint16_t headerLength, const uint8_t *headerBuffer, uint32_t readlength, uint8_t *readBuffer uint16 headerLength, const uint8 *headerBuffer, uint32 readlength, uint8 *readBuffer ) { Ô´Âë/ºËÐİå/Src/decadriver/deca_device.c
@@ -1049,7 +1049,7 @@ */ uint32 dwt_read32bitoffsetreg(int regFileID, int regOffset) { uint32 regval = DWT_ERROR ; uint32 regval = (uint32)DWT_ERROR ; int j ; uint8 buffer[4] ; @@ -1081,7 +1081,7 @@ */ uint16 dwt_read16bitoffsetreg(int regFileID, int regOffset) { uint16 regval = DWT_ERROR ; uint16 regval = (uint16)DWT_ERROR ; uint8 buffer[2] ; int result = dwt_readfromdevice(regFileID, regOffset, 2, buffer); // Read 2 bytes (16-bits) register into buffer @@ -1396,7 +1396,7 @@ break; default : // printf("OTP SET MR: ERROR : Invalid mode selected\n",mode); return DWT_ERROR; return (uint32)DWT_ERROR; } wr_buf[0] = mra & 0x00ff; @@ -1530,7 +1530,7 @@ if((rd_buf[0] & 0x02) != 0x02) { // printf("OTP PROG 32: ERROR VPP NOT OK, programming will fail. Are MR/MRA/MRB set?\n"); return DWT_ERROR; return (uint32)DWT_ERROR; } // Write the data Ô´Âë/ºËÐİå/Src/main.c
@@ -190,17 +190,17 @@ sum = ~sum; return sum; } void LED_blink(void) { uint8_t ii; for (ii = 0; ii < 10; ii++) { GPIO_Toggle(GPIOA, LED_PIN); deca_sleep(100); } } //void LED_blink(void) //{ // uint8_t ii; // for (ii = 0; ii < 10; ii++) // { // GPIO_Toggle(GPIOA, LED_PIN); // deca_sleep(100); // } //} //extern volatile unsigned long time32_reset; extern uint8_t Work_Mode; uint8_t Work_Mode = 1; uint32 frame_len; uint8_t send[9]; char dist_str[16] = {0}; @@ -270,7 +270,7 @@ rx_resp_msg[5] = TAG_ID;//UWB RESPONSE å æ°æ® tx_final_msg[5] = TAG_ID;//UWB Fianl å æ°æ® /* Loop forever initiating ranging exchanges. */ LED_blink(); //LED_blink(); if(!Work_Mode) //éæ©å鿍¡å¼ï¼TAGæ ç¾ï¼è¿æ¯æ¥æ¶æ¨¡å¼(ANCHORåºç«) { while (1) //å鿍¡å¼(TAGæ ç¾) @@ -336,15 +336,15 @@ dwt_writetxfctrl(sizeof(tx_final_msg), 0);//设å®åéæ°æ®é¿åº¦ dwt_starttx(DWT_START_TX_DELAYED);//设å®ä¸ºå»¶è¿åé if (GPIO_ReadInputDataBit(GPIOA, SW2) != RESET) //éè¿æ¨ç å¼å ³å¤ææ°æ®è¾åºæ ¼å¼ { dID = TAG_ID; printf("TAG_ID: %2.0f ", dID); dID = ANCHOR_ID; printf("ANCHOR_ID: %2.0f ", dID); printf("Distance: %5.0f cm\n", (double)dist[TAG_ID]); } else // if (GPIO_ReadInputDataBit(GPIOA, SW2) != RESET) //éè¿æ¨ç å¼å ³å¤ææ°æ®è¾åºæ ¼å¼ // { // dID = TAG_ID; // printf("TAG_ID: %2.0f ", dID); // dID = ANCHOR_ID; // printf("ANCHOR_ID: %2.0f ", dID); // printf("Distance: %5.0f cm\n", (double)dist[TAG_ID]); // } // else { send[2] = ANCHOR_ID; send[3] = TAG_ID; @@ -364,7 +364,8 @@ /* Increment frame sequence number after transmission of the final message (modulo 256). */ frame_seq_nb++; // time32_reset = 0; GPIO_Toggle(GPIOA, LED_PIN); //LEDéªç // GPIO_Toggle(GPIOA, LED_PIN); //LEDéªç LED0_BLINK; jumptime = 0; } else @@ -494,16 +495,16 @@ dis = dist2 * 100; //dis 为åä½ä¸ºcmçè·ç¦» dist[TAG_ID] = LP(dis, TAG_ID); //LP 为ä½é滤波å¨ï¼è®©æ°æ®æ´ç¨³å® // time32_reset = 0; GPIO_Toggle(GPIOA, LED_PIN); if (GPIO_ReadInputDataBit(GPIOA, SW2) != RESET) //éè¿æ¨ç å¼å ³å¤ææ°æ®è¾åºæ ¼å¼ { dID = TAG_ID; printf("TAG_ID: %2.0f ", dID); dID = ANCHOR_ID; printf("ANCHOR_ID: %2.0f ", dID); printf("Distance: %5.0f cm\n", (double)dist[TAG_ID]); } else LED0_BLINK; // if (GPIO_ReadInputDataBit(GPIOA, SW2) != RESET) //éè¿æ¨ç å¼å ³å¤ææ°æ®è¾åºæ ¼å¼ // { // dID = TAG_ID; // printf("TAG_ID: %2.0f ", dID); // dID = ANCHOR_ID; // printf("ANCHOR_ID: %2.0f ", dID); // printf("Distance: %5.0f cm\n", (double)dist[TAG_ID]); // } // else { send[2] = ANCHOR_ID; send[3] = TAG_ID;