Explorar el Código

V2.1.4_20200821
1、屏蔽GPIOD寄存器微故障检测;
2、增加5us延时,解决DMA_CNDTR寄存器微故障检测不通过问题;
3、软件版本:V2r1r4_20200821

white.xu hace 5 años
padre
commit
29bc5d1c51

+ 12 - 6
SelfTestUser/src_middlewares/stm32f1xx_STUperipheralRegisters.c

@@ -13,6 +13,16 @@ uint8_t DMA_Channel_selftest(DMA_Channel_TypeDef* DMA);
 uint8_t ADC_register_selftest(ADC_TypeDef* ADCx);
 uint8_t TIM_register_selftest(TIM_TypeDef* TIMx);
 
+void STU_delay_us(uint16_t time)
+{    
+   uint16_t i=0;  
+   while(time--)
+   {
+      i=7;  //72MHZÖ÷Ƶ£¬1us
+      while(i--) ;    
+   }
+}
+
 uint8_t STU_PeripheralRegistersTest(void)
 {
 	//uint8_t result;
@@ -21,7 +31,6 @@ uint8_t STU_PeripheralRegistersTest(void)
 	__HAL_RCC_GPIOA_CLK_ENABLE();
 	__HAL_RCC_GPIOB_CLK_ENABLE();
 	__HAL_RCC_GPIOC_CLK_ENABLE();
-	__HAL_RCC_GPIOD_CLK_ENABLE();
 	
 	if(GPIO_register_selftest(GPIOA) == ERROR )
 	{
@@ -35,15 +44,10 @@ uint8_t STU_PeripheralRegistersTest(void)
 	{
 		return ERROR;
 	}
-	if(GPIO_register_selftest(GPIOD) == ERROR )
-	{
-		return ERROR;
-	}
 
 	__HAL_RCC_GPIOA_CLK_DISABLE();
 	__HAL_RCC_GPIOB_CLK_DISABLE();
 	__HAL_RCC_GPIOC_CLK_DISABLE();
-	__HAL_RCC_GPIOD_CLK_DISABLE();
 	
 	AFIO_register_selftest(AFIO);
 	
@@ -310,10 +314,12 @@ uint8_t DMA_Channel_selftest(DMA_Channel_TypeDef* DMA_Channelx)
 	//////////CNDTR//////////////
 	DMA_Channelx->CCR = 0x00000000;
 	DMA_Channelx->CNDTR=0x00005555;
+	STU_delay_us(5);
 	val=DMA_Channelx->CNDTR;
 	if(val!=0x00005555)
 				return  (0);
 	DMA_Channelx->CNDTR=0x0000AAAA;
+	STU_delay_us(5);
 	val=DMA_Channelx->CNDTR;
 		if(val!=0x0000AAAA)
 				return  (0);

+ 6 - 0
修改说明.txt

@@ -309,6 +309,12 @@ V2.1.3_20200821
 5、软件版本:V2r1r3_20200821
 
 
+V2.1.4_20200821
+1、屏蔽GPIOD寄存器微故障检测;
+2、增加5us延时,解决DMA_CNDTR寄存器微故障检测不通过问题;
+3、软件版本:V2r1r4_20200821
+
+