本帖最后由 lm2018yy 于 2018-6-14 11:12 编辑 使用stm32f103zet6芯片 void delay_us(uint32_t n) { SysTick->LOAD=72*n; //72M, SysTick->CTRL=0x00000005;//HCLK(72M) while(!(SysTick->CTRL&0x00010000)); //0 SysTick->CTRL=0x00000004; } main函数中 while(1) { GPIO_SetBits(GPIOF, GPIO_Pin_All); delay_us(2000); GPIO_ResetBits(GPIOF, GPIO_Pin_All); delay_us(1000); } 管脚测试产生如0032波形: 求大神为啥是这样?不应该是“1”长“0”短吗? RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOC, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOF, &GPIO_InitStructure); while(1) { GPIO_SetBits(GPIOF, GPIO_Pin_All); //GPIO_Write(GPIOF, 0xffff); //delay_us(20000); n=20000;while(n){n--;} GPIO_Write(GPIOF, 0x0);//GPIO_ResetBits(GPIOF, GPIO_Pin_All); //delay_us(10000); n=10000;while(n){n--;} } GPIO配置没变,换为此段程序,正常。 图如004: |
â1âçâ0âé¿
æ£å¸¸
评分
查看全部评分
管脚直接测试,不知啥问题导致的
2.所测引脚接没接上拉电阻?
评分
查看全部评分
评分
查看全部评分
单步调试,管脚输出正常
特地找快F1板子试一下,完全正常,看楼主的波形图,那个高电平的幅度是否达到3V?貌似GPIOF未配置正确:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF, ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOF, &GPIO_InitStructure);
评分
查看全部评分
评分
查看全部评分
非常感谢,我再试试
评分
查看全部评分
程序应该是不会出现这种现象
我说一句楼主别介意,你是不是示波器GND和探针接反了 - - 然后测试第二段程序的时候又接对了。。。
评分
查看全部评分