OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5065|回复: 5

GPIO口同样的配置,有的IO口输出不正常

[复制链接]

69

主题

269

帖子

0

精华

高级会员

Rank: 4

积分
977
金钱
977
注册时间
2014-7-4
在线时间
237 小时
发表于 2015-4-11 10:06:11 | 显示全部楼层 |阅读模式
5金钱
用的位绑定,同样的配置但有的输出不正常 PB5正常 PA15 PB3不正常 用的stm32f103c8t6程序是在实验53 UCOSII入门实验1-1-任务调度 基础上改的
[mw_shl_code=c,true]void AD7793_init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB, ENABLE); //????PB,PE?????±?? //CS---PA15 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_SetBits(GPIOA,GPIO_Pin_15); //CS???????????? // SCLK---PB3 DIN--PB5 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_5; GPIO_Init(GPIOB, &GPIO_InitStructure); //DOUT---PB4 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOB, &GPIO_InitStructure); }[/mw_shl_code]
[mw_shl_code=c,true]#define CS PAout(15)// PA15 #define SCLK PBout(3) // PB3 #define DIN PBout(5) // PB5 #define DOUT PBin(4) // PB4[/mw_shl_code]

[mw_shl_code=c,true]void AD7793_task(void *pdata) { u8 temp[10]; u32 i; float res; while(1) { SCLK = 1; CS = 1; DIN = 1; delay_ms(1000); SCLK = 0; CS = 0; DIN = 0; delay_ms(1000); } }[/mw_shl_code]


最佳答案

查看完整内容[请看2#楼]

PB3 B4 A15是jtag脚,产品上用的是SWD下载,现在用的核心板是jtag的
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

69

主题

269

帖子

0

精华

高级会员

Rank: 4

积分
977
金钱
977
注册时间
2014-7-4
在线时间
237 小时
 楼主| 发表于 2015-4-11 10:06:12 | 显示全部楼层
PB3 B4 A15是jtag脚,产品上用的是SWD下载,现在用的核心板是jtag的
回复

使用道具 举报

0

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2014-8-23
在线时间
10 小时
发表于 2015-4-11 10:45:07 | 显示全部楼层
PA15 是JTAG 脚,所以使用普通IO功能是要先取消JTAG功能的
如:  GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
回复

使用道具 举报

69

主题

269

帖子

0

精华

高级会员

Rank: 4

积分
977
金钱
977
注册时间
2014-7-4
在线时间
237 小时
 楼主| 发表于 2015-4-11 10:56:51 | 显示全部楼层
回复【3楼】ansun:
---------------------------------
这个应该是jtag swd都禁止了吧   我试了下GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE)只关闭jtag 还是不行
回复

使用道具 举报

69

主题

269

帖子

0

精华

高级会员

Rank: 4

积分
977
金钱
977
注册时间
2014-7-4
在线时间
237 小时
 楼主| 发表于 2015-4-11 10:59:06 | 显示全部楼层
回复【3楼】ansun:
---------------------------------
void AD7793_init(void)
{
 GPIO_InitTypeDef  GPIO_InitStructure;
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB, ENABLE);  //????PB,PE?????±??
//CS---PA15
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;  
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  
 GPIO_Init(GPIOA, &GPIO_InitStructure);  
 GPIO_SetBits(GPIOA,GPIO_Pin_15);  //CS????????????

// SCLK---PB3  DIN--PB5 
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_5;     
 GPIO_Init(GPIOB, &GPIO_InitStructure);

//DOUT---PB4
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;  
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
 GPIO_Init(GPIOB, &GPIO_InitStructure);
}



>>>>>>>>>>>>>还是不行<<<<<<<<<
回复

使用道具 举报

0

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2014-8-23
在线时间
10 小时
发表于 2015-4-11 11:17:53 | 显示全部楼层
你第二行要跟第三行调一下顺序,你时钟都没打开,怎么就能修改模式呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-23 20:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表