|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
[求助]请教我AVR的I/O端口设置的源程序对不对?附代码.... |
作者:42103632 栏目:单片机 |
数据(串口正常工作).外部RAM用堆的方式来使用.可是串口无法发送出数据,想请教一下我的I/O端口设置问题在哪?代码如下: /******************************************************* 函数: 串口初始化 功能:波特率:19200,晶震:6.25M,双串口*******************************************************/ void uart_init(void)//(unsigned int baud) { //UART0 Init: UCSR0C=0x06;//|=(~(1<<UMSEL0))|(1<<UCSZ01)|(1<<UCSZ00); //异步模式,8位数据+1位停止位 UCSR0B=0x00 ; //设置波特率时候关闭UART UBRR0H=0x00 ; UBRR0L=0x13 ; UCSR0A=0x20; UCSR0B|=(1<<RXEN0)|(1<<TXEN0)|(1<<RXCIE0)|(1<<TXCIE0); //允许发送和接收 //UART1 Init: UCSR1C=0x06; UCSR1B=0x00; UBRR1H=0x00; UBRR1L=0x13; UCSR1A=0x20; UCSR1B|=(1<<RXEN1)|(1<<TXEN1)|(1<<RXCIE1)|(1<<TXCIE1);//|(1<<UDRIE1); sei(); //开中断 } /******************************************************************** 函数:系统初始化 功能:外扩SRAM(512K),设置相关控制位,外部RAM使能,使用PA,PC口地址 数据线复用,同时扩展PF0,PF1,PF2三口为地址线 使寻址能力达512K,同时系统外接3片FLASH存储器, 分别用PF3,PF4,PF5,PF6做为片选信号。 ********************************************************************/ void system_init(void) { MCUCR|=(1<<SRE)|(~(1<<SE)); //外部SRAM使能 cbi(SFIOR,PUD); //上拉电阻使能位 //cbi(MCUCR,SE); //禁止使能睡眠方式 SE is flag sleep XMCRA=0x00; //外部存储器控制器寄存器A XMCRB=0x00; //外部存储器控制器寄存器B DDRA=0xFF; //I/O端口A,C,F 初始化 PORTA=0xFF; DDRC=0xFF; PORTC=0x7F; //默认A15(PC7)为零,使用低地地址空间(32K) DDRF=0xFF; //扩展PF0,PF1,PF2口为地址线,同时,使用PF3,PF4,PF5,PF6为FLASH存储器的片选信号 PORTF|=0x08; //默认使用外部SRAM,对应片选信号为PF3=1,PF4=0,PF5=0,PF6=0,PF7默认为0。 /*//其他口上拉电阻使能 DDRB=0;PORTB=0xFF; DDRD=0;PORTD=0xFF; DDRE=0;PORTE=0xFF; DDRG=0;PORTG=0xFF;*/ //堆设置 __malloc_heap_start=(unsigned CHAR *)0x1100; __malloc_heap_end=(unsigned CHAR *)0x90FF; } 初始化函数里面设置完成后,在程序中采用 unsigned CHAR *data=(unsigned CHAR *)malloc(100); memset(data,0,100);//使用前先初始化空间. memcpy(data,string,100); //string数组已知. ..... free(data);//释放空间 data=NULL;//指针指向NULL; 上面这些是我查到的最安全的使用方法了,可是,调试时发现,问题出在从memcpy(data,string,100); 以下的根本无 法执行下去.请教高手了!!!!期待中. |
|
|
Copyright © 1998-2006 domainnameq.cn 浙ICP证030469号 |