【PIC32学习笔记】关于如何控制PortA外围模块

本文是关于PIC32单片机的学习笔记,重点在于如何控制PortA外围模块。在系统复位或上电后,执行启动代码初始化栈。要激活PortA的输出引脚,通过配置相应的SFR,如PORTA寄存器。文中提到使用C语言赋值时遇到问题,PORTA寄存器值未改变,需查阅数据手册以解决。
摘要由CSDN通过智能技术生成

摘自:32位单片机C语言编程:基于PIC32


单片机系统在系统复位或者上电之后,会在执行main()函数之前先执行一小段由MPLAB C32链接器自动插入的初始化程序,即所谓的Startup(启动)代码或者crt0代码,也称为c0代码。启动代码负责基本的内务操作,包括栈的所有重要初始化等。

首先我们的任务是激活PIC32的一个或多个输出引脚。PIC32的输入/输出(I/O)引脚也被成组地配置在模块或者端口中,其中每一组最多包含16个引脚,这些模块被依次命名为A至H。我们按照顺序最先使用PortA。 用于控制这些端口的SFR中最重要的也是最容易使用的是与模块同名的寄存器(比如PORTA)。

PORTA代表控制寄存器,PortA代表整个外围设备模块。

根据p32mx795f512l.h,我们可以找到PORTA的数据结构如下:

typedef union {
struct {
  unsigned RA0:1;
  unsigned RA1:1;
  unsigned RA2:1;
  unsigned RA3:1;
  unsigned RA4:1;
  unsigned RA5:1;
  unsigned RA6:1;
  unsigned RA7:1;
  unsigned :1;
  unsigned RA9:1;
  unsigned RA10:1;
  unsigned :3;
  unsigned RA14:1;
  unsigned RA15:1;
}; struct {
  unsigned w:32;
};
} __PORTAbits_t;

根据数据手册,如果
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值