国产毛片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精品成人免费国产 | 欧美日韩一区二区三区麻豆 | 敢死队4完整版在线观看 | 欧洲色播 | 欧美在线观看一区二区三区 | 日本a在线视频 | 午夜精品免费 | 亚洲好视频 | 黄色成人影视 | 自拍自偷| 久久金8天国 | 青青草国产青春综合久久 | 青青色在线 | 三级在线国产 | 五月综合色婷婷影院在线观看 | 韩国福利影视一区二区三区 | www天堂网 | 色网站在线观看 | 国内精品久久国产 | 91久久精品一区二区三区 | 日韩成人综合网 | 2021久久精品99精品久久 | 亚洲高清日韩精品第一区 | 二级毛片免费观看全程 | 日本www色视频成人免费 | 日本三级一区二区 | 九九九精品午夜在线观看 | 欧美一级视频在线高清观看 | 国产精品所毛片视频 | 免费精品国产自产拍在 | 亚洲精品视频在线观看视频 | 天堂在线免费观看中文版 | 亚洲男人的天堂成人 | 黄页在线免费观看 | 男女污污在线观看 |