DSPIC33CK BLDC 驱动 by Rocky MCS part II

//************************GPIO 配置 开始************************************************


GPIO 模块框图

image

1,相关寄存器

1.1     ANSELx:PORTx模拟选择寄存器

bit 15-0 ANSELx<15:0>:PORTx模拟选择位
      1 = 在PORTx[n]引脚上使能模拟输入,禁止数字输入
      0 = 在PORTx[n]引脚上禁止模拟输入,使能数字输入

1.2   TRISx:PORTx输出使能寄存器

bit 15-0 TRISx<15:0>:PORTx输出使能位
      1 = 不在PORTx[n]引脚上驱动LATx[n]
      0 = 在PORTx[n]引脚上驱动LATx[n]

1.3   PORTx:PORTx输入数据寄存器

bit 15-0 PORTx<15:0>:PORTx数据输入值位

1.4   LATx:PORTx输出数据寄存器

bit 15-0 LATx<15:0>:PORTx数据输出值位

1.5   ODCx:PORTx漏极开路使能寄存器

bit 15-0 ODCx<15:0>:PORTx漏极开路使能位
      1 = 在PORTx引脚上使能漏极开路
      0 = 在PORTx引脚上禁止漏极开路

1.6   CNPUx:PORTx电平变化通知上拉使能寄存器

bit 15-0 CNPUx<15:0>:PORTx电平变化通知上拉使能位
      1 = 使能PORTx[n]的上拉——优先于下拉选择
      0 = 禁止PORTx[n]的上拉

1.7   CNPDx:PORTx电平变化通知下拉使能寄存器

bit 15-0 CNPDx<15:0>:PORTx电平变化通知下拉使能位
      1 = 使能PORTx[n]的下拉(未使能PORTx[n]的上拉时)
      0 = 禁止PORTx[n]的下拉

1.8   CNCONx:PORTx电平变化通知控制寄存器

bit 15 ON:PORTx电平变化通知(Change Notification,CN)控制使能位
      1 = 使能CN
      0 = 禁止CN
bit 14-12 未实现:读为0
bit 11 CNSTYLE:电平变化通知类型选择位
      1 = 边沿方式(检测边沿跳变,CNFx<15:0>位用于指示电平变化通知事件)
      0 = 不匹配方式(检测相对于上次端口读操作的变化,CNSTATx<15:0>位用于指示电平变化通知事件)
bit 10-0 未实现:读为0

1.9   CNEN0x:PORTx电平变化通知中断允许寄存器

bit 15-0 CNEN0x<15:0>:PORTx电平变化通知中断允许位
      1 = 允许PORTx[n]的电平变化(相对于上次读取的值)中断
      0 = 禁止PORTx[n]的电平变化中断

1.10   CNSTATx:PORTx电平变化通知中断状态寄存器

bit 15-0 CNSTATx<15:0>:PORTx电平变化通知中断状态位
当CNSTYLE(CNCONx<11>)= 0时:
      1 = 自上次读取PORTx[n]以来PORTx[n]发生了变化
      0 = 自上次读取PORTx[n]以来PORTx[n]未发生变化

1.11   CNEN1x:PORTx电平变化通知中断边沿选择寄存器

bit 15-0 CNEN1x<15:0>:PORTx电平变化通知中断边沿选择位

1.12   CNFx:PORTx电平变化通知中断标志寄存器

bit 15 CNFx<15:0>:PORTx电平变化通知中断标志位
当CNSTYLE(CNCONx<11>)= 1时:
      1 = 在PORTx[n]引脚上发生了使能的边沿事件。
      0 = 在PORTx[n]引脚上未发生使能的边沿事件。




//************************GPIO 配置 结束************************************************

posted @ 2022-04-08 22:20  Rocky_Zou  阅读(102)  评论(0编辑  收藏  举报