永发信息网

用ARM7对硬件编程 如何初始化端口引脚

答案:1  悬赏:10  手机版
解决时间 2021-01-14 13:38
  • 提问者网友:椧運幽默
  • 2021-01-14 05:32
用ARM7对硬件编程 如何初始化端口引脚
最佳答案
  • 五星知识达人网友:第四晚心情
  • 2021-01-14 06:27
需要根据你的硬件来初始化端口,因为arm的管脚都是复用的,根据选择的功能不同初始化程序也不同。
给你个例子参考下:
void Init_I2c(void) //初始化IIC总线
{
PINSEL0 = (PINSEL0 & (~0xf0)) | 0x50; //P0.2~~P0.3设置为I2C功能
// IIC1引脚初始化 本程序未用
// PINSEL0 = (PINSEL0 & (~(0x03 << 22))) | (0x03 << 22); //P0.11设置为I2C功能
// PINSEL0 = (PINSEL0 & (~(0x03 << 28))) | (0x03 << 28); //P0.14设置为I2C功能
// I2C0SCLH = Fpclk / (2 * 400000); //设置波特率为400K
// I2C0SCLL = Fpclk / (2 * 400000);
I2SCLH = (Fpclk/400000 + 1) / 2;
I2SCLL = (Fpclk/400000)/2;

//初始化为主模式
I2CONCLR = 0x2c; //清除AA SI STO STA
I2CONSET = 0x40; //使能I2C
// 初始化为从模式 本程序未用
// I2C0DAT = adr & 0xfe; //设置从地址为adr
// I2C0CONCLR = 0x28;
// I2C0CONSET = 0x44;
}

void Init_Timer0(uint8 x)
{

T0TC = 0; //计时器初始值为0
T0PR = 0; //不分频
T0MR0 = Fpclk / x; //定时时间长度为 1/x 秒
T0MCR = 0x03; //开MR0中断 在比较后复位TC
T0TCR = 0x01; //开启计时器

}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯