Curiosity PIC32MZEF学习教程:最简单的IO端口测试.docxVIP

  • 9
  • 0
  • 约1.08千字
  • 约 9页
  • 2022-03-01 发布于浙江
  • 举报

Curiosity PIC32MZEF学习教程:最简单的IO端口测试.docx

PAGE PAGE 1 Curiosity PIC32MZEF学习教程:最简单的IO端口测试 ? 可单独使能/禁止输出引脚的漏极开路 ? 可单独使能/禁止输入引脚的弱上拉和下拉 ? 监视选择性输入并在检测到引脚电平状态发生变化时产生中断 ? 可在休眠和空闲模式下连续工作 ? 可使用CLR、SET和INV(寄存器)进行快速位操作 先来看看IO口的内部框图,看起来很简单的样子 作为数字I/O,全部端口引脚都有最多14个与其操作直接关联的寄存器。数据方向寄存器(TRISx)打算引脚是输入还是输出。假如数据方向位为1,则引脚为输入。复位后,全部端口引脚均定义为输入。读锁存器(LATx)时,读到的是锁存器中的值;写锁存器时,写入的是锁存器。读端口(PORTx)时,读到的是端口引脚的值;而写端口引脚时,写入的是锁存器。 打开(MPLAB) X IDE,建立基于Harmony的工程,Harmony里面生成的文件都是基于库操作的,简洁点,寄存器太多了,操作太困难 可配置性在 Harmony 的项目里,就是 system_config.h,system_init.c,system_tasks.c,system_interrupt.c 几个源文件的 体现,如下图: Harmony在设计之初就充分考虑了项目的可配置性,让同样的应用代码或者软件库可以在不同的硬件(或软件)配置上运行,同时也让 MHC 有了用武之地,并且代码结构特别规范、易读。 (时钟)等配置都实行默认的,我们拿RE3口做试验,板卡上的RE3是掌握一个(发光二极管)LED1,高电平亮,低电平灭。由于选择的对应的板卡配置,所以默认都是对的。 直接点生成工程,在工程里打开app.c文件 由于(mi)an里面的主循环在app.c里的APP_Tasks函数,在函数里增加如下语句 BSP_LEDToggle(BSP_LED_1);掌握LED1引脚的电平翻转 延时的函数根据主频200MHZ算的话,也许1S多 BSP_LEDToggle跳转到的函数是PLIB_PORTS_(Pi)nToggle,这个函数的功能就是把对应哪个端口的哪个位进行电平翻转。在对应文件ports_p32mz2048efm100.h文件中 编译程序,(下载),可以看到板卡上的LED红色灯在渐渐的闪耀

文档评论(0)

1亿VIP精品文档

相关文档