竹风xu 发表于 2012-8-27 15:44:37

AVR studio 6

使用AVR studio 6写了一个程序,之前在icc中运行过可以用的,经AVR studio 6编译后显示的结果不一样,我是这样建的工程:新建项目--GCC C Executable project C/C++,确定,选ATmega128,不知还需要设置什么?还请高手指教指教

liutong0525 发表于 2012-8-27 15:49:33

引用的头文件不同,AS6中,不管用什么片子,头文件都是avr/io.h吧好像,如果使用中断是interput.h等,你可以上网上找找GCC编程的相关东西,或者搜ICC向AS6移植,都能找到相关的

竹风xu 发表于 2012-8-27 16:23:01

头文件应该没问题,我是不知道编程完之后是不是需要再设置一下其他的(AS6软件中)

liutong0525 发表于 2012-8-27 16:45:07

竹风xu 发表于 2012-8-27 16:23 static/image/common/back.gif
头文件应该没问题,我是不知道编程完之后是不是需要再设置一下其他的(AS6软件中) ...

那我就不知道了,我新手,从ICC移植as6遇到的问题就是eeprom和头文件的,别的差不多。或许你可以看看是不是优化等级的问题

竹风xu 发表于 2012-8-27 16:52:39

我试验12864显示,显示数字与英文字母时可以,但显示汉字就不是我想要的汉字,这可能是什么问题呢?

#include <avr/io.h>
#include "12864.h"
/*****************12864*******************/
#define SID_0   PORTB &= 0b11111110
#define SID_1   PORTB |= 0b00000001
#define SCLK_0PORTB &= 0b11111101
#define SCLK_1PORTB |= 0b00000010
//SID为RW口,SCLK为E口
//RS,RST口接高电平,PSB接低电平,A为高电平,K为低电平
/////////////////主函数
void main(void)
{
        DDRB= 0b11111111;
        PORTB=0b11111111;
        lcd_init();                      //初始化12864
        while(1)
        {
                lcd_wcmd(0x82);
                lcd_wdat(0x2d);                  
                Lcd_DisplayString(1,1,"合");   //显示汉字
        }
}


liutong0525 发表于 2012-8-27 17:06:07

竹风xu 发表于 2012-8-27 16:52 static/image/common/back.gif
我试验12864显示,显示数字与英文字母时可以,但显示汉字就不是我想要的汉字,这可能是什么问题呢?

#incl ...

声明下,我新手,但应该不是as设置的问题,应该是你的调显示子函数或者是字库在as6的支持(猜测)问题

竹风xu 发表于 2012-8-27 17:14:18

恩,谢了,我再找找问题

liutong0525 发表于 2012-8-27 17:18:24

竹风xu 发表于 2012-8-27 17:14 static/image/common/back.gif
恩,谢了,我再找找问题

你看一下汉字字符在字库变换的时候是不是调中断了,在子函数里面头文件是不是正确,或许有帮助

竹风xu 发表于 2012-8-27 17:50:54

头文件是#include <avr/io.h>,我只试显示的,没写中断

onev 发表于 2012-8-28 12:47:54

keyijia QQ qun253654121jiaoliu   我也正用Atmel Studio6交流交流

竹风xu 发表于 2012-9-4 13:08:32

onev 发表于 2012-8-28 12:47 static/image/common/back.gif
keyijia QQ qun253654121jiaoliu   我也正用Atmel Studio6交流交流

好的,谢了

jz701209李 发表于 2012-9-4 22:16:56

路过学习一下!!!!!!

竹风xu 发表于 2012-9-6 09:56:33

我找到原因了,只是还没找到合适的解决方案,在Atmel Studio6中汉字编译为3个字节,而我们一般编码都是2个字节,12864中的字库也是用两个字节的,只要将Atmel Studio6中的汉字转成两个字节的就行了,各位有什么高见?
页: [1]
查看完整版本: AVR studio 6