由测试程序
/* *******************************************
* File name: main.c
* Function: AVR的I/O端口操作测试程序
* Description: 控制I/O端口的输入输出
* Author & Date: Joshua Chan, 2012/03/23
* *******************************************/
#include
#include
#include
#include
#include
#include "io_test.h"
/* 利用PA 0~5 输入状态控制PE, PF相关端口输出 */
void main(void)
{
input2output_setdir();
while (1) {
input2output_setbit();
_WDR();
}
}
/* *******************************************
* File name: io_test.h
* Function: AVR的I/O端口操作测试程序
* Description: 控制I/O端口的输入输出
* Author & Date: Joshua Chan, 2012/03/23
* *******************************************/
#ifndef _IO_TEST_H
#define _IO_TEST_H
/* 设置PA 0~5 及PE, PF相关端口方向 */
extern void input2output_setdir(void);
/* 设置PA0~5端口控制PE, PF相关端口输出 */
extern void input2output_setbit(void);
#endif
/* ******************************************* * File name: io_test.c * Function: AVR的I/O端口操作测试程序 * Description: 控制I/O端口的输入输出 * Author & Date: Joshua Chan, 2012/03/23 * *******************************************/ #include#include #include #include #include #include "io_test.h" /* 设置PA 0~5 及PE, PF相关端口方向 */ void input2output_setdir(void) { DDRA &= ~0x3F; /* PA 0~5 输入 */ DDRE |= 0x0C; /* PE 5~6 输出 */ DDRF |= 0x0F; /* PF 1~4 输出 */ } /* 设置PA0~5端口控制PE, PF相关端口输出 */ void input2output_setbit(void) { PORTF_Bit3 = PINA_Bit0; /* IN1的状态传至PF3 */ PORTF_Bit2 = PINA_Bit1; /* IN2的状态传至PF2 */ PORTF_Bit1 = PINA_Bit2; /* IN3的状态传至PF1 */ PORTF_Bit0 = PINA_Bit3; /* IN4的状态传至PF0 */ PORTE_Bit2 = PINA_Bit4; /* IN5的状态传至PE2 */ PORTE_Bit3 = PINA_Bit5; /* IN6的状态传至PE3 */ }
上一篇:编程点滴:AVR外部中断测试程序
下一篇:AVR编程感悟
推荐阅读最新更新时间:2024-03-16 15:16
设计资源 培训 开发板 精华推荐
- PC产业驶入创新超车道,英特尔蓉城撬动AI新引擎
- 与产业聚力共赢,英特尔举行新质生产力技术生态大会
- “新”享5G-A万兆网络前沿体验 高通携手产业伙伴亮相第二届链博会
- 英飞凌推出符合ASIL-D标准的新型汽车制动系统和电动助力转向系统三相栅极驱动器 IC
- 南芯科技推出80V升降压转换器,持续深耕工业储能市场
- 法雷奥与罗姆联合开发新一代功率电子领域
- 贸泽电子开售能为电动汽车牵引逆变器提供可扩展性能的 英飞凌HybridPACK Drive G2模块
- 德州仪器新型 MCU 可实现边缘 AI 和先进的实时控制, 提高系统效率、安全性和可持续性
- 瑞萨推出高性能四核应用处理器, 增强工业以太网与多轴电机控制解决方案阵容
- 研华全新模块化电脑SOM-6833助力5G路测设备升级