运行程序,测试IO口会有一个20mv的方波信号,电源也会有这个交流信号。配置如下int main (void)
{
<blockquote><span class="Apple-tab-span" style="white-space:pre"> </span>UINT32 i_i,j_j,k_k;
OP_SW_Init();
TX_AUD_ON();
while(1)
{
i_i++;
if(i_i>400000)
{
i_i=0;
while(j_j<400000)
{
j_j++;
}
j_j=0;
}
}
}
IO配置#define TX_AUD_ON() GPIO_SetBits(GPIOB, GPIO_Pin_9)
#define TX_AUD_OFF() GPIO_ResetBits(GPIOB, GPIO_Pin_9)
void OP_SW_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_6|GPIO_Pin_8|GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;//GPIO_Speed_100MHz;
GPIO_Init(GPIOB,&GPIO_InitStructure);
TX_AUD_OFF();
}
用的是STM32F205VCT6,如果while(j_j<400000)没有这一句就不会出现方波信号(用示波器,交流档,10mv/100ms可以看到)。大家有没有人遇到过这种情况?请路过的各位指点。
|