|
@@ -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);
|