国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

樓主: wangkj
打印 上一主題 下一主題

循環直接跳過,貌似溢出了,但是我用的是32bit類型啊!

[復制鏈接]
21
發表于 2009-7-15 19:45:01 | 只看該作者
可以多試試

加了L應該就沒有問題
22
 樓主| 發表于 2009-7-16 08:45:21 | 只看該作者
果然可以了,只需要最前面,加上 1L * 就可以!

clr_scr3.jpg (12.24 KB)

clr_scr3.jpg
23
發表于 2009-7-16 09:18:39 | 只看該作者
看來keil會把define中的內容默認為最匹配的數據類型,挺節約的,呵呵
24
發表于 2009-7-16 09:28:06 | 只看該作者
看來以后宏定義也要注明類型
太繁瑣了~
25
發表于 2009-7-16 09:33:11 | 只看該作者
其實這樣做并不是繁瑣,呵呵,看來keil還是很聰明的,為了幫助節省資源,會自動選擇數據類型,只是用的時候要小心
26
發表于 2009-7-16 09:33:41 | 只看該作者
這幾天看了21上單片機版面的置頂貼,講程序優化的,感覺前人總結的
高內聚,低耦合,模塊功能要單純
真是經典


呵呵,跑題了
27
發表于 2009-7-16 09:38:18 | 只看該作者
建議ls讀一下《Unix編程藝術》
你就知道那些東西不過爾爾~

做硬件的跟純做軟件的專業水準是比不了的  哈哈~
28
 樓主| 發表于 2009-7-16 09:47:46 | 只看該作者
有出錯了,還是int 32的問題,高16bit丟了!

void cursor(unsigned int x,y)  //設置顯存地址 8M 尋址空間。
{
   //int i;
   union
   {
      unsigned long int addr;
          unsigned int addr_HL[2];
   } addr_union;
   addr_union.addr=1L*y*WIDTH+x;
   EA0=1;//set cmd status
   //addr=272*y+x;
   spi_write16(addr_union.addr_HL[1]);  
   spi_write16(addr_union.addr_HL[0]);  

   EA0=0;//set data status        PutCmd(0);//reset display ram pointer to 0
}
29
 樓主| 發表于 2009-7-16 09:48:34 | 只看該作者
>>> hex(0x201*1024+0x201)='0x80601'

把0x80丟了!
30
 樓主| 發表于 2009-7-16 09:50:59 | 只看該作者
結果輸出的圖。

int32_1.jpg (14.93 KB)

int32_1.jpg

int32_1.jpg (14.93 KB)

int32_1.jpg
31
發表于 2009-7-16 10:00:24 | 只看該作者
應該還是 那類問題吧~?  8位機確實比較費勁~
32
發表于 2009-7-16 10:04:41 | 只看該作者
這是一個很好討論,

請問一下wangkj,編譯器難道沒有警告嗎?

要是沒有警告的話,

應該就算編譯器的BUG了吧?
33
 樓主| 發表于 2009-7-16 10:10:58 | 只看該作者
51 vga的圖片,vga部分的接口引出,可以不用板載的51

img026.jpg (15 KB)

img026.jpg
34
 樓主| 發表于 2009-7-16 10:11:49 | 只看該作者
Build target 'Target 1'
compiling serial.c...
compiling vga51.c...
linking...
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?PR?GET_CHAR?SERIAL
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?CO?SERIAL
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?PR?NOP?VGA51
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?PR?UDELAY?VGA51
Program Size: data=213.1 xdata=0 code=985
creating hex file from "vga51"...
"vga51" - 0 Error(s), 4 Warning(s).
35
 樓主| 發表于 2009-7-16 10:12:32 | 只看該作者
這幾個警告沒用,都是我注釋掉的函數。
36
 樓主| 發表于 2009-7-16 10:13:12 | 只看該作者
keil c51真的很垃圾,int32 不讓用,純粹是想斷單片機的后路。
37
發表于 2009-7-16 10:14:41 | 只看該作者
有沒有設置成最嚴格的警告方式?
38
發表于 2009-7-16 10:15:30 | 只看該作者
瞎猜的,不知道KEIL有沒有這樣的設置
39
 樓主| 發表于 2009-7-16 10:19:33 | 只看該作者
源碼在附件中。

src.rar

50.76 KB, 下載積分: 積分 -1

40
 樓主| 發表于 2009-7-16 10:25:44 | 只看該作者
void cursor(unsigned int x,y)  //設置顯存地址 8M 尋址空間。
{
   //int i;
   union
   {
      unsigned long int addr;
          unsigned int addr_HL[2];
   } addr_union;
   addr_union.addr=1L*(long)y*WIDTH+(long)x;
   EA0=1;//set cmd status
   //addr=272*y+x;
   spi_write16(addr_union.addr_HL[1]);  
   spi_write16(addr_union.addr_HL[0]);  

   EA0=0;//set data status        PutCmd(0);//reset display ram pointer to 0
}
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品真实国产乱文在线 | 91久久青青青国产免费 | 99久久精品免费看国产一区二区 | 真人特级毛片免费视频 | 国产欧美一区二区三区免费看 | 羞羞视频在线观看 | 免费福利网站在线观看 | 一二三四日本手机高清视频 | 日本色www | 国产日韩亚洲 | 欧美性生交大片 | 能看的毛片 | 高清不卡视频 | 亚洲精品永久www嫩草 | 久草视频国产 | 日韩一区二区三区在线视频 | 69黄色| 欧美一区二区三区香蕉视 | 国产牛牛 | 国产精品成人免费综合 | 91网页| 热99精品只有里视频最新 | 成人欧美视频免费看黄黄 | 国产欧美日韩在线一区二区不卡 | 男女视频免费网站 | 日韩福利社 | 亚洲免费网站在线观看 | 一级做a爰片毛片 | 在线青青视频 | 在线观看不卡一区 | 久久久久久国产视频 | 日本免费高清在线观看播放 | 国产成人久久精品二区三区牛 | 精品二区 | 高清毛片免费看 | 亚洲精品网站在线观看不卡无广告 | 一级黄色片在线看 | 爱情综合症泰剧 | 老子影院午夜精品欧美视频 | 久久精品99毛片免费 | www.欧美在线观看 |