英飞凌IO学习总结_第1页
英飞凌IO学习总结_第2页
英飞凌IO学习总结_第3页
英飞凌IO学习总结_第4页
英飞凌IO学习总结_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一 端口引脚通用结构图PORTn->HWSEL 引脚硬件选择寄存器 PORTn->PPS 引脚省电寄存器PORTn->IOCR 输入输出控制寄存器 PORTn->PHCR 焊盘滞后控制寄存器PORTn->IN 输入寄存器 PORTn->OMR 输出修改寄存器PORTn->OUT 输出寄存器二寄存器操作(1)输入模式(前四个直接输入,后四个反相输入)端口引脚的电压通过焊盘内的施密特触发器被转换逻辑电平0或1,可以选择将该电平反相输入或直接输入,Pn_IN读取。还可以通过ALTIN连接多个片内外设。通过控制PORTn->IOCR来控制输入模式,Pn_

2、IN和ALTIN始终都是代表输入,与引脚配置成输入输出无关。#define INPUT 0x00U 不激活上/下拉器件#define INPUT_PD 0x08U 激活下拉#define INPUT_PU 0x10U 激活上拉(高)#define INPUT_PPS 0x18U 不激活,Pn_OUT连续采样输入值#define INPUT_INV 0x20U 不激活上/下拉器件#define INPUT_INV_PD 0x28U 激活下拉#define INPUT_INV_PU 0x30U 激活上拉#define INPUT_INV_PPS 0x38U 不激活,Pn_OUT连续采样输入例如:_

3、STATIC_INLINE void P0_0_set_mode(uint8_t mode) PORT0->IOCR0 &= 0x000000f8UL; PORT0->IOCR0 |= mode << 0;_STATIC_INLINE void P0_0_set_standard_hysteresis() PORT0->PHCR0 &= 0x00000004UL;_STATIC_INLINE void P0_0_set_large_hysteresis() PORT0->PHCR0 |= 0x00000004UL;(2)输出模式配置PORTn

4、->IOCR来选择输出模式,通过PORTn->OUT输出结果。如果要修改输出,应该配置PORTn->OMR,这样不会影响PORTn->OUT的其他位。#define OUTPUT_PP_GP 0x80U 推挽通用输出#define OUTPUT_PP_AF1 0x88U 推挽复用1#define OUTPUT_PP_AF2 0x90U#define OUTPUT_PP_AF3 0x98U#define OUTPUT_PP_AF4 0xA0U#define OUTPUT_PP_AF5 0xA8U#define OUTPUT_PP_AF6 0xB0U#define OUTP

5、UT_PP_AF7 0xB8U 推挽复用7#define OUTPUT_OD_GP 0xC0U 开漏通用处处#define OUTPUT_OD_AF1 0xC8U 开漏复用1#define OUTPUT_OD_AF2 0xD0U#define OUTPUT_OD_AF3 0xD8U#define OUTPUT_OD_AF4 0XE0U#define OUTPUT_OD_AF5 0xE8U#define OUTPUT_OD_AF6 0xF0U#define OUTPUT_OD_AF7 0XF8U 开漏复用7 _STATIC_INLINE void P0_0_set(void) PORT0->

6、;OMR = 0x00000001UL;_STATIC_INLINE void P0_0_reset(void) PORT0->OMR = 0x00010000UL;_STATIC_INLINE void P0_0_toggle(void) PORT0->OMR = 0x00010001UL;(3)硬件控制的IOPORTn->HWSEL允许选择不同的硬件”主机。例如:_STATIC_INLINE void P0_0_set_hwsel(uint32_t config)PORT0->HWSEL &= 0x00000003UL;PORT0->HWSEL |=

7、config << 0;(4)省电模式例如:_STATIC_INLINE void P0_0_enable_pps(void) PORT0->PPS |= 0x00000001UL;_STATIC_INLINE void P0_0_disable_pps(void) PORT0->PPS &= 0x00000001UL;三IO口操作流程示例#include <XMC1300.h>#include "PORTS.h"void PORTS_vInit(void)SCU_GENERAL->PASSWD = 0x000000C0UL;SCU_CLK->CLKCR = 0x3FF00400UL;/ 8 MHz MCLK, 8 MHz PCLKwhile(SCU_CLK->CLKCR)&0x40000000UL);/ 等待VDDC电压稳定SCU_GENERAL->PASSWD = 0x000000C3UL; P0_0_set_mode(INPUT); / P0_0为不激活拉器件输入P0_1_set_mode(OUTPUT_PP_GP); / 推挽通用输出P0_6_set_mode(OUTPUT_PP_GP); /P0_7_set_mode(OUTPUT_PP_GP); /void POR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论