关于在keil中进行stm32软件仿真的问题

将stm32I/O引脚引脚位绑定后,然后我对PA口的8引脚不断的给高电平,延时一段后,再给低电平。程序没有错误,但进行仿真时一直GPIO口的PA8引脚却一直是高电平,不知... 将stm32I/O引脚引脚位绑定后,然后我对PA口的8引脚不断的给高电平,延时一段后,再给低电平。程序没有错误,但进行仿真时一直GPIO口的PA8引脚却一直是高电平,不知道是怎么回事?程序如下:
#include"stm32f10x_lib.h"

#define uint unsigned int

#define GPIOA_ODR_A (GPIOA_BASE+0x0C)
#define GPIOA_IDR_A (GPIOA_BASE+0x08)
#define GPIOB_ODR_B (GPIOB_BASE+0x0C)
#define GPIOB_IDR_B (GPIOB_BASE+0x08)
#define GPIOC_ODR_C (GPIOC_BASE+0x0C)
#define GPIOC_IDR_C (GPIOC_BASE+0x08)
#define GPIOD_ODR_D (GPIOD_BASE+0x0C)
#define GPIOD_IDR_D (GPIOD_BASE+0x08)
#define GPIOE_ODR_E (GPIOE_BASE+0x0C)
#define GPIOE_IDR_E (GPIOE_BASE+0x08)

#define BitBand(Addr,BitNum) *((volatile unsigned long *)((Addr&0xF0000000)+0x2000000+((Addr&0xfffff)<<5)+(BitNum<<2)))

#define PAOut(n) BitBand(GPIOA_ODR_A,n)
#define PAIn(n) BitBand(GPIOA_IDR_A,n)
#define PBOut(n) BitBand(GPIOB_ODR_B,n)
#define PBIn(n) BitBand(GPIOB_IDR_B,n)
#define PCOut(n) BitBand(GPIOC_ODR_C,n)
#define PCIn(n) BitBand(GPIOC_IDR_C,n)
#define PDOut(n) BitBand(GPIOD_ODR_D,n)
#define PDIn(n) BitBand(GPIOD_IDR_D,n)
#define PEOut(n) BitBand(GPIOE_ODR_E,n)
#define PEIn(n) BitBand(GPIOE_IDR_E,n)

void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}

int main (void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
GPIOA->CRH=0x3;
while(1)
{
PAOut(8)=1;
delayms(10000);
PAOut(8)=0;
}
}
软件仿真图片如下,PA8引脚一直置1,不知是什么原因?
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励30(财富值+成长值)
若以下回答无法解决问题,邀请你更新回答
bcg448251593
2014-10-21 · 超过25用户采纳过TA的回答
知道答主
回答量:76
采纳率:0%
帮助的人:19.1万
展开全部
根据我的经验不建议自己操作寄存器.最好用stm32的库函数进行操作!
更多追问追答
追问
问题不在于操作寄存器还是库函数,我用库函数试过也是出现这种情况。
追答
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);//开GPIOC时钟
PC.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9;
PC.GPIO_Mode = GPIO_Mode_Out_PP;
PC.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOC, &PC);
类似这样初始化..然后调用

GPIO_SetBits(GPIOC, GPIO_Pin_9);//GPIOC.9=1

GPIO_ResetBits(GPIOC, GPIO_Pin_9);//GPIOC.9=0
这样操作..
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式