搜索
bottom↓
回复: 7

PB2 IO翻转不起作用 LGT8F08A 求助!!

[复制链接]

出0入0汤圆

发表于 2013-3-4 21:39:40 | 显示全部楼层 |阅读模式
我用下面的代码测试LGT8F08A SOP8封装的端口翻转

PIN1 2 3 6 7都成功了
只有PIN4 PB2不能翻转 是常低的  哪位大牛能提示一下这个端口有什么特殊么?


nclude <iom164pv.h>
#include "iolgt8f0xa.h"
#include <macros.h>


void port_init(void)
{
PORTA = 0x00;
DDRA  = 0xFF;
PORTB = 0x00;
DDRB  = 0xFF;
PORTC = 0x00;
DDRC  = 0xFF;
PORTD = 0x00;
DDRD  = 0xFF;
}

//call this routine to initialize all peripherals
void init_devices(void)
{
//stop errant interrupts until set up
//CLI(); //disable all interrupts
port_init();
/*
MCUCR= 0x00;
EMCUCR = 0x00;
//GIMSK= 0x00;
TIMSK= 0x00; //timer interrupt sources
ETIMSK=0x00;
GICR= 0x00;
PCMSK0=0x00;
PCMSK1=0x00;
SEI(); //re-enable interrupts
//all peripherals are now initialized
*/
}
void delay_1us(void)                 //1us延时函数
{
    asm("nop");
}

void delay_nus(unsigned int n)       //N us延时函数
{
    unsigned int i=0;
    for (i=0;i<n;i++)
        delay_1us();
}
void delay_1ms(void)                 //1ms延时函数
{
    unsigned int i;
    for (i=0;i<1140;i++);
}

void delay_nms(unsigned int n)       //N ms延时函数
{
    unsigned int i=0;
    for (i=0;i<n;i++)
        delay_1ms();
}
//
void main(void)
{
init_devices();
//insert your functional code here...
while(1)
{
PORTA = 0;
PORTB = 0;
PORTC = 0;
delay_nms(500);
PORTA = 0xFF;
PORTB = 0xFF;
PORTC = 0xFF;
delay_nms(500);
}

出0入0汤圆

 楼主| 发表于 2013-3-4 22:36:24 | 显示全部楼层
请问手册上这个写法怎么理解

PORTB 的地址到底是 0x25还是 0x05呢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-3-5 15:38:05 | 显示全部楼层
PORTB – 端口B驱动输出寄存器 地址: 0x05 默认值: 0x00

出0入0汤圆

 楼主| 发表于 2013-3-5 22:00:40 | 显示全部楼层
那0x25怎么理解呢  按照官方说法都引用 164pv.h 那个里面都是按照 0x25定义的

出0入0汤圆

 楼主| 发表于 2013-3-6 00:42:10 | 显示全部楼层
无人解答 自己摸索了  手册写有些引脚是封装在一起的, 我猜是物理连接的  所以端口被不止一个寄存器操作
使用的时候注意不要冲突就可以 已经搞定
这个问题以前竟然没人提 ..

出0入0汤圆

发表于 2013-3-6 13:57:57 | 显示全部楼层
pupist 发表于 2013-3-6 00:42
无人解答 自己摸索了  手册写有些引脚是封装在一起的, 我猜是物理连接的  所以端口被不止一个寄存器操作
...

是的,要留意一些IO是绑定在一起的。

出0入0汤圆

发表于 2013-3-13 11:50:44 | 显示全部楼层
pupist 发表于 2013-3-6 00:42
无人解答 自己摸索了  手册写有些引脚是封装在一起的, 我猜是物理连接的  所以端口被不止一个寄存器操作
...

怎样搞定的?楼主可以说明一下吗?

出0入0汤圆

 楼主| 发表于 2013-3-16 13:17:59 | 显示全部楼层
oste_ 发表于 2013-3-13 11:50
怎样搞定的?楼主可以说明一下吗?

有些IO呗两个寄存器同时控制的  注意不要冲突就可以
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-11 23:00

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表