潇湘夜雨 发表于 2014-9-6 21:35:00

今天打算从STM8S系列转到AVR,用了mega128,居然程序不运行


从PIC转STM8S,结果STM8S太令人失望,电源有很微小的波动都复位,难以用在无线发射控制的场合,于是放弃。今天转到AVR,尝试一个小程序,结果却不运行,太费解了。
板子是正常的,因为写demo程序是运行的,但是我用avr studio 5编译却不运行,就好像死机一样!
哎,求解
单片机是 mega128a ,内部晶体。下面的程序是闪灯,demo程序是闪的 。
#include<avr/io.h>
int main(void)
{

   PORTC=0xff;
   DDRC=0xff;
    while(1)
    {
                PORTC^=0xff;
                _delay_ms(100);

}
}

下面是demo程序,其他单片机熔丝位一样的设置。

/*******************************************
文件:LED.C
环境:编译为ICC AVR6.25A,仿真为AVR Studio4.10
硬件:ATMEGA16芯片
日期:2008年12月10日
功能:采用IO口驱动发光二极管,并实现流水线功能
备注:本系列例程参考了ouravr各位网友提供的相关资料,再此表示感谢
/******************************************/
#include <iom128v.h>
#include <macros.h>
#defineuchar unsigned char
#defineuintunsigned int
//毫秒级延迟程序
void delay(uint ms)
{
    uint i,j;
    for(i=0;i<ms;i++)
       {
       for(j=0;j<1141;j++);
       }
}
//主控程序
void main()
{
   uint k;
   DDRC=0XFF;
   PORTC=0XFF;
   while(1)
   {
   for(k=0;k<8;k++)//循环闪烁
   {
   PORTC&=~BIT(k);
   delay(50);
   
   PORTC|=BIT(k);
   delay(50);
   }
   }
}

cyr_hongfeng 发表于 2014-9-6 21:39:07

需要设置熔丝不兼容m103

Vmao 发表于 2014-9-6 21:41:11

估计你转到哪也是这样

潇湘夜雨 发表于 2014-9-6 22:12:35

Vmao 发表于 2014-9-6 21:41
估计你转到哪也是这样

对不起,还真是AVR128这个芯片有卡住我,我用过PIC汇编,STM8/STM8S/还用过STM32,都是弄产品,至于这个AVR128我是不懂,我只懂AVR的48和88,总之我不懂128。
对了,如果你太厉害了,请不要看这些这么低级的帖子。大神请绕道

laotui 发表于 2014-9-6 22:22:58

STM8会不会是调压器电容的问题?

xujihu 发表于 2014-9-6 22:23:24

以前遇到过,同样的程序,在win7上ICC7.xx的不行; 用xp装ICC AVR6.3的没问题。

潇湘夜雨 发表于 2014-9-6 22:37:33

laotui 发表于 2014-9-6 22:22
STM8会不会是调压器电容的问题?

不是呢,用示波器看VDD电压,开无线发射时VDD波动几百毫伏,就复位了,工作电压3.3V,用内部晶振。

潇湘夜雨 发表于 2014-9-6 22:37:52

cyr_hongfeng 发表于 2014-9-6 21:39
需要设置熔丝不兼容m103

谢谢啦!!!!

zhouyan 发表于 2014-9-6 23:05:12

靠,正用stm8s105k做无线。网上反应stm8问题偏多。

radar_12345 发表于 2014-9-7 07:56:41

难道你的无线电源和单片机共用一个,做大功率无线发射要单独供电。你如果不隔开,用avr很遗憾的告诉你,avr也有掉电保护,就是电压低于某个值会复位

hejie126 发表于 2014-9-7 09:11:47

10楼正解,做大功率无线发射要单独供电

newcanking 发表于 2014-9-7 09:33:53

记得avr熔丝位有个bovd低电压设置

szxszx 发表于 2014-9-7 09:37:27

找到VDD波动的原因,就应该想办法解决,仅靠换芯片不一定有效

lgg88 发表于 2014-9-8 15:26:38

楼主方向搞错了既然 波动几百毫伏,应该解决电压的问题才对

flyhorse 发表于 2014-9-8 15:44:47

电源问题是关键
页: [1]
查看完整版本: 今天打算从STM8S系列转到AVR,用了mega128,居然程序不运行