您的位置:首页 > 其它

stm32 PA.0-PA.7推揽式输出,50MHZ;PA.8-PA.15 浮空输入,

2016-10-29 00:11 197 查看
#include "stm32f10x.h"
int main(void)
{

//1.PA.0-PA.7推揽式输出,50MHZ;PA.8-PA.15 浮空输入,

GPIOA->CRL=0X33333333;
GPIOA->CRH=0X44444444;

//2.输入状态反应到对应引脚的输出;

while(1){
if((GPIOA->IDR&0X0100)==0X0100)  GPIOA->BSRR=0x01;
else                             GPIOA->BRR=~0x01;

if((GPIOA->IDR&0X0200)==0X0200)  GPIOA->BSRR=0X02;
else                             GPIOA->BRR=0x02;

if((GPIOA->IDR&0X0400)==0X0400)  GPIOA->BSRR=0X04;
else                             GPIOA->BRR=~0x04;

if((GPIOA->IDR&0X0800)==0X0800)  GPIOA->ODR=GPIOA->ODR|0X08;
else                             GPIOA->ODR=GPIOA->ODR & (~0x08);

if((GPIOA->IDR&0X1000)==0X1000)  GPIOA->ODR=GPIOA->ODR|0X10;
else                             GPIOA->ODR=GPIOA->ODR & (~0x10);

if((GPIOA->IDR&0X2000)==0X2000)  GPIOA->ODR=GPIOA->ODR|0X20;
else                             GPIOA->ODR=GPIOA->ODR & (~0x20);

if((GPIOA->IDR&0X4000)==0X4000)  GPIOA->ODR=GPIOA->ODR|0X40;
else                             GPIOA->ODR=GPIOA->ODR & (~0x40);

if((GPIOA->IDR&0X8000)==0X8000)  GPIOA->ODR=GPIOA->ODR|0X80;
else                             GPIOA->ODR=GPIOA->ODR & (~0x80);
}

return 0;
}


//位绑定

//1. 位n          映射      内存地址a;

//2. n=0 1                   a=0   a=1

//3.读  修改 写;

//SRAM区  0x2000 0000  ~ 0x200f ffff   1M空间

//片上外设 0X4000 0000~   0X400f ffff   1M空间
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐