这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » Mega128 求助:用C语言开发的Mega128源码!

共2条 1/1 1 跳转至

Mega128 求助:用C语言开发的Mega128源码!

院士
2006-09-17 18:14:16     打赏
Mega128 求助:用C语言开发的Mega128源码!



关键词: Mega128     求助     语言     开发     源码    

院士
2006-12-22 22:43:00     打赏
2楼
问 小弟初次使用AVR,对此了解甚少,希望各位大虾提供源码供小弟学习。 1: ICC编译器自己就可生成简单的程序,主要包括硬件初始化 2: 谢谢谢谢,这个我已经看过了,都是初始化的东东,我想从程序整体看看 3: 推荐:《AVR单片机应用设计》几乎8535的每个硬件资源都有例子参考,挺好的 4: 哪里可以搞到电子版? 5: 用MEGA128实现TCP/IP的例子,很大,这是其中的一点点。#include <delay.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <mega128.h>
#include <sleep.h>
#include "easyweb.h"
#include "tcpip.h"
#include "web_debug.h"
#include "measure.h"


#pragma regalloc-
unsigned char counter_10ms;
#ifdef WEB_DEBUG
unsigned int counter_10ms_16bit;
#endif
#pragma regalloc+


/*********************************************************************************
; Description    : main routine to start the USER-Program
; Input             : none
; Output         : none
; Indication    : none
;*********************************************************************************/
void main(void)
{
unsigned char    counter_10ms_delay0=20;
unsigned char    counter_10ms_old;

init_atmega128();
#ifdef WEB_DEBUG
web_debug_info();
cs8900_ok=FALSE;
if(easyweb_init())
    cs8900_ok=TRUE;
#else
easyweb_init();
#endif
counter_10ms_old = counter_10ms;
LED1_OFF;        // PortD.4 LED1
LED2_OFF;        // PortD.5 LED2
LED3_OFF;        // PortD.6 LED3
LED4_OFF;        // PortD.7 LED4
while (1)
    {
    #ifdef MEASURE_DEBUG
    MEASURE_SETTIME(MEA_MAIN_S)
    measure_time();
    #endif
    #asm("wdr");    // Reset Watchdog
    #ifndef WEB_DEBUG
    easyweb_main();
    idle();               // im NON-Debug-Mode evary time with IDLE-Mode
    #endif
    #ifdef WEB_DEBUG
    uart_debug_command();
    if(power_mode==POWER_IDLE)
        idle();
    if(power_mode==POWER_SAVE)
        {
        if(cs8900_ok==TRUE)
            easyweb_main();    // execute with every WakeUP of Timer0
        delay_ms(1);        // wait until UART0 ready
        powersave();
        }
    if(power_mode==POWER_EXTSTANDBY)
        {
        if(cs8900_ok==TRUE)
            easyweb_main();    // execute with every WakeUP of Timer0
        delay_ms(1);        // wait until UART0 ready
        extended_standby();
        }
    #endif
    if(counter_10ms_old!=counter_10ms)
        {
        #ifdef WEB_DEBUG
        if(cs8900_ok==TRUE)
            easyweb_main();
        #endif
        counter_10ms_old=counter_10ms;
        if(counter_10ms_delay0>0)
            counter_10ms_delay0--;
        else
            {        
            counter_10ms_delay0=40;
            led_toggle(LED1);
            }
        }
    #ifdef MEASURE_DEBUG
    MEASURE_SETTIME(MEA_MAIN_E)
    measure_switch_time_frame();
    #endif
    }
} 6: cls9811,你好!你用的是什么编译环境? 7: cls9811大侠,能否有空指点一二?偶一直用硬件实现的,直接调用API。
很想知道具体的实现过程。能否有空指点指点?谢谢
cooperate508@sina.com 8: 共同学习用单片机实现TCP/IP是一件比较复杂过程,有很多编程思想和方法以及技巧。我也是刚刚入门。有空大家共同的深入研究一下。不过在做之钱要了解TCP/IP协议的知识。。。。。 9: To: cls9811你应该知道EthNut吧?

http://www.ethernet.de 10: 知道!并且做了一块板实验了一下,准备改进一下,有些协议不是很完善 11: 补充他有ICC和GCC的程序以及电路图,想学的可以去下载,不过电路图是EG格式的。必须重新画电路。

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]