1. 修改Led的pin脚
2. 修改蜂鸣器与两个外设输出的pin
3. 修改dw1000的外部pin

4. 代码改为超过小于某距离就报警(待完善)
已修改7个文件
154 ■■■■ 文件已修改
源码/核心板/MDK-ARM/Project.uvoptx 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
源码/核心板/MDK-ARM/Project.uvprojx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
源码/核心板/Src/ExternalDevices/beep.c 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
源码/核心板/Src/ExternalDevices/beep.h 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
源码/核心板/Src/ExternalDevices/dw_driver.h 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
源码/核心板/Src/main.c 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
源码/核心板/Src/stm32f10x_it.c 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Ô´Âë/ºËÐİå/MDK-ARM/Project.uvoptx
@@ -77,7 +77,7 @@
        <tvExpOptDlg>0</tvExpOptDlg>
        <IsCurrentTarget>1</IsCurrentTarget>
      </OPTFL>
      <CpuCode>255</CpuCode>
      <CpuCode>18</CpuCode>
      <DebugOpt>
        <uSim>0</uSim>
        <uTrg>1</uTrg>
@@ -117,6 +117,11 @@
      <TargetDriverDllRegistry>
        <SetRegEntry>
          <Number>0</Number>
          <Key>DLGUARM</Key>
          <Name>P€??陊P€?</Name>
        </SetRegEntry>
        <SetRegEntry>
          <Number>0</Number>
          <Key>UL2CM3</Key>
          <Name>-UV0010M9E -O2254 -S0 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7  -FN1 -FC1000 -FD20000000 -FF0STM32F10x_128 -FL020000 -FS08000000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM)</Name>
        </SetRegEntry>
@@ -124,11 +129,6 @@
          <Number>0</Number>
          <Key>JL2CM3</Key>
          <Name>-U20090928 -O2254 -S1 -ZTIFSpeedSel10000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8008 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103T8$Flash\STM32F10x_128.FLM)</Name>
        </SetRegEntry>
        <SetRegEntry>
          <Number>0</Number>
          <Key>DLGUARM</Key>
          <Name>?</Name>
        </SetRegEntry>
        <SetRegEntry>
          <Number>0</Number>
@@ -143,7 +143,7 @@
        <SetRegEntry>
          <Number>0</Number>
          <Key>DLGTARM</Key>
          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=767,133,1188,538,0)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0)</Name>
          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=767,133,1188,538,0)(121=75,104,496,509,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0)</Name>
        </SetRegEntry>
        <SetRegEntry>
          <Number>0</Number>
@@ -151,7 +151,24 @@
          <Name>-T0</Name>
        </SetRegEntry>
      </TargetDriverDllRegistry>
      <Breakpoint/>
      <Breakpoint>
        <Bp>
          <Number>0</Number>
          <Type>0</Type>
          <LineNumber>63</LineNumber>
          <EnabledFlag>1</EnabledFlag>
          <Address>134225754</Address>
          <ByteObject>0</ByteObject>
          <HtxType>0</HtxType>
          <ManyObjects>0</ManyObjects>
          <SizeOfObject>0</SizeOfObject>
          <BreakByAccess>0</BreakByAccess>
          <BreakIfRCount>1</BreakIfRCount>
          <Filename>E:\鍘樼背绉戞妧\1. SoftwareProject\UWB_SmallModule\婧愮爜\Src\main.c</Filename>
          <ExecCommand></ExecCommand>
          <Expression>\\UWB_Projects\../Src/main.c\63</Expression>
        </Bp>
      </Breakpoint>
      <WatchWindow1>
        <Ww>
          <count>0</count>
@@ -182,6 +199,16 @@
          <count>5</count>
          <WinNumber>1</WinNumber>
          <ItemText>status_reg</ItemText>
        </Ww>
        <Ww>
          <count>6</count>
          <WinNumber>1</WinNumber>
          <ItemText>temp,0x0A</ItemText>
        </Ww>
        <Ww>
          <count>7</count>
          <WinNumber>1</WinNumber>
          <ItemText>aa</ItemText>
        </Ww>
      </WatchWindow1>
      <MemoryWindow1>
@@ -365,7 +392,7 @@
  <Group>
    <GroupName>ExternalDevices</GroupName>
    <tvExp>0</tvExp>
    <tvExp>1</tvExp>
    <tvExpOptDlg>0</tvExpOptDlg>
    <cbSel>0</cbSel>
    <RteFlg>0</RteFlg>
Ô´Âë/ºËÐİå/MDK-ARM/Project.uvprojx
@@ -310,7 +310,7 @@
          </ArmAdsMisc>
          <Cads>
            <interw>1</interw>
            <Optim>1</Optim>
            <Optim>4</Optim>
            <oTime>0</oTime>
            <SplitLS>0</SplitLS>
            <OneElfS>1</OneElfS>
Ô´Âë/ºËÐİå/Src/ExternalDevices/beep.c
@@ -5,12 +5,23 @@
    GPIO_InitTypeDef GPIO_InitStructure;
        
    /* Enable GPIO clock */
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
    // Enable GPIO used for beep
    GPIO_InitStructure.GPIO_Pin = BEEP_PIN | BEEP2_PIN;
    GPIO_InitStructure.GPIO_Pin = BEEP_PIN;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(BEEP_GPIO, &GPIO_InitStructure);
}
    // Enable GPIO used for beep
    GPIO_InitStructure.GPIO_Pin = BEEP2_PIN;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(BEEP2_GPIO, &GPIO_InitStructure);
    // Enable GPIO used for OUT
    GPIO_InitStructure.GPIO_Pin = OUT2_PIN;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(OUT2_GPIO, &GPIO_InitStructure);
}
Ô´Âë/ºËÐİå/Src/ExternalDevices/beep.h
@@ -4,14 +4,21 @@
#include "stm32f10x.h"
#define BEEP_PIN                    GPIO_Pin_2
#define BEEP2_PIN                    GPIO_Pin_5
#define BEEP_GPIO                    GPIOA
#define BEEP_PIN                    GPIO_Pin_6
#define BEEP_GPIO                    GPIOB
#define BEEP_ON                        GPIO_WriteBit(BEEP_GPIO, BEEP_PIN, Bit_SET)
#define BEEP_OFF                    GPIO_WriteBit(BEEP_GPIO, BEEP_PIN, Bit_RESET)
#define BEEP2_PIN                    GPIO_Pin_5
#define BEEP2_GPIO                    GPIOB
#define BEEP2_ON                    GPIO_WriteBit(BEEP_GPIO, BEEP2_PIN, Bit_SET)
#define BEEP2_OFF                    GPIO_WriteBit(BEEP_GPIO, BEEP2_PIN, Bit_RESET)
#define OUT2_PIN                    GPIO_Pin_7
#define OUT2_GPIO                    GPIOB
#define OUT2_ON                        GPIO_WriteBit(OUT2_GPIO, OUT2_PIN, Bit_SET)
#define OUT2_OFF                    GPIO_WriteBit(OUT2_GPIO, OUT2_PIN, Bit_RESET)
void Beep_Init(void);
Ô´Âë/ºËÐİå/Src/ExternalDevices/dw_driver.h
@@ -5,15 +5,15 @@
#include "stm32f10x.h"
#include "Rcc_Nvic_Systick.h"
#define DW1000_RSTn                    GPIO_Pin_1
#define DW1000_RSTn_GPIO            GPIOA
#define DW1000_WAKEUP                GPIO_Pin_3
#define DW1000_RSTn                    GPIO_Pin_15
#define DW1000_RSTn_GPIO            GPIOB
#define DW1000_WAKEUP                GPIO_Pin_8
#define DW1000_WAKEUP_GPIO            GPIOA
#define DW1000_IRQ                    GPIO_Pin_2
#define DW1000_IRQ                    GPIO_Pin_1
#define DW1000_IRQ_GPIO                GPIOA
#define DECAIRQ_EXTI                EXTI_Line2
#define DECAIRQ_EXTI                EXTI_Line1
#define DECAIRQ_EXTI_PORT           GPIO_PortSourceGPIOA
#define DECAIRQ_EXTI_PIN            GPIO_PinSource2
#define DECAIRQ_EXTI_PIN            GPIO_PinSource1
#define deca_sleep(...)                delay_ms(__VA_ARGS__)
Ô´Âë/ºËÐİå/Src/main.c
@@ -11,7 +11,7 @@
//#define WORK_MODE_TAG
#define WORK_MODE_ANCHOR
#define START_ALARM_DIST_CM            500
#define START_ALARM_DIST_CM            200
#define BEEM_ON_TIME_MS                200
float dis_after_filter = 0;
@@ -31,6 +31,7 @@
    GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
}
        uint8_t aa;
/*! ------------------------------------------------------------------------------------------------------------------
 * @fn main()
 *
@@ -55,21 +56,35 @@
        Tag_App();
#else 
        Anchor_App();
#endif
        if(USART_GetFlagStatus(EXT_USART, USART_FLAG_RXNE) != RESET)
        {
            aa = USART_ReceiveData(EXT_USART);
            USART_SendData(EXT_USART, 0x66);//向串口1发送数据
            while(USART_GetFlagStatus(EXT_USART, USART_FLAG_TC)!=SET);//等待发送结束
            aa = 0;
        }
        //除UWB之外的其他代码...
        dis_after_filter = LP_Frac_Update(p_Dis_Filter, dist_cm);
        
        if(dis_after_filter <= START_ALARM_DIST_CM)
        {
            g_beep_off_time = (uint32_t)dis_after_filter * 10;
            if(g_beep_off_time <= 0)
                g_beep_off_time = 0;
            g_beep_on_time = BEEM_ON_TIME_MS;
//            g_beep_off_time = (uint32_t)dis_after_filter * 10;
//            if(g_beep_off_time <= 0)
//                g_beep_off_time = 0;
//            g_beep_on_time = BEEM_ON_TIME_MS;
            OUT2_ON;
        }
        else
        {
            g_beep_on_time = 0;
            g_beep_off_time = 0;
//            g_beep_on_time = 0;
//            g_beep_off_time = 0;
            OUT2_OFF;
        }
        
    }
Ô´Âë/ºËÐİå/Src/stm32f10x_it.c
@@ -36,19 +36,31 @@
    static uint32_t s_cycle_time = 0;
    time32_incr++;
    
    if(s_cycle_time >= g_beep_off_time)
    {
        s_cycle_time = 0;
    }
    else if(s_cycle_time > g_beep_on_time && s_cycle_time < g_beep_off_time)
    {
        BEEP_OFF;
    }
    else if(s_cycle_time <= g_beep_on_time)
    {
        BEEP_ON;
    }
//    if(s_cycle_time >= g_beep_off_time)
//    {
//        s_cycle_time = 0;
//    }
//    else if(s_cycle_time > g_beep_on_time && s_cycle_time < g_beep_off_time)
//    {
//        BEEP_OFF;
//    }
//    else if(s_cycle_time <= g_beep_on_time)
//    {
//        BEEP_ON;
//    }
    s_cycle_time++;
}
/**
  * @brief  ä¸­æ–­æœåŠ¡å‡½æ•°
  */
void EXTI1_IRQHandler(void)
{
  if(EXTI_GetITStatus(EXTI_Line1)!= RESET)
  {
    EXTI_ClearITPendingBit(EXTI_Line1);
  }
}
/******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/