日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

单片机---HLK-W801移植Nes模拟器(三)

發布時間:2023/12/20 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 单片机---HLK-W801移植Nes模拟器(三) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

總目錄

《單片機—HLK-W801移植Nes模擬器(一)》
《單片機—HLK-W801移植Nes模擬器(二)》
《單片機—HLK-W801移植Nes模擬器(三)》

本章重點—優化顯示

前兩章完成之后,測試了一下刷新速率,達到了驚人的3幀每秒

提高主頻

main函數中,有設置時鐘分頻的位置,嘗試修改為最高

修改LCD初始

默認的ILI9341是豎屏,320*240的話,我們寫數據,就需要進行截斷處理,因為這個模擬器的每行是256個字符。
所以我們進行一下橫屏,并且配置一下繪圖范圍的內存,我們就讓它與模擬器提供的行buf一一對應,就避免了很多配置動作,只需要不停的寫入就好了。

ILI9341_WR_REG(0x36); //set the model of scanningILI9341_WR_DATA8((1<<5)|(0<<6)|(1<<7)|(1<<3)); //左橫屏//ILI9341_WR_DATA8((1<<5)|(1<<6));右橫屏幕//ILI9341_WR_DATA8(0x08); 豎屏幕ILI9341_WR_REG(0x2B); //set the page address 橫屏幕設置 Y軸到239ILI9341_WR_DATA8(0x00);ILI9341_WR_DATA8(0x00);ILI9341_WR_DATA8(0x00);ILI9341_WR_DATA8(0xDF);ILI9341_WR_REG(0x2A); //set the column address X軸到319 改為255ILI9341_WR_DATA8(0x00);ILI9341_WR_DATA8(0x00);//ILI9341_WR_DATA8(0x01);//ILI9341_WR_DATA8(0x3F);ILI9341_WR_DATA8(0x00);ILI9341_WR_DATA8(0xFF);ILI9341_WR_REG(0x2c);//儲存器寫

這里,我們進行了左橫屏,并且配置橫縱坐標范圍為256*240。
然后我們的寫屏函數就可以化為最簡單的寫SPI

void ILI9341_DrawLine(u16 y,u16* data) {tls_spi_write((uint8_t *)data,512); }

那么有人會注意到了,前面用的Y軸應該是239,轉化為十六進制應該是EF。可為什么是DF,那么就是因為這個游戲的首行地址,并不是從0開始,而一共只有0xEF行,所以為了能最簡單的進行畫圖,不去設置行列地址,那么就直接配置所用的顯示位置縱坐標為0xDF。否則,就會出現滾屏的問題。

測試幀率

然后我們配置了一個5秒的定時器,然后我們每畫一幀,就記一次數據,5秒看一下繪制了多少幀。

extern unsigned int FrameCount; static void demo_timer_irq2(u8 *arg) {printf("%02d fp/5s\n",(FrameCount));FrameCount=0; } void timer_demo(void) {u8 timer_id2;struct tls_timer_cfg timer_cfg2;timer_cfg2.unit = TLS_TIMER_UNIT_MS;timer_cfg2.timeout = 5000;timer_cfg2.is_repeat = 1;timer_cfg2.callback = (tls_timer_irq_callback)demo_timer_irq2;timer_cfg2.arg = NULL;timer_id2 = tls_timer_create(&timer_cfg2);tls_timer_start(timer_id2); }

繪制圖像處計數

void InfoNES_LoadLine() {if(PPU_Scanline==100){FrameCount++;}ILI9341_DrawLine(PPU_Scanline,WorkLine); }

最終測試了一下

10fps左右的水平。

在注釋掉繪圖操作之后,模擬器計算幀的速度如下

大約是28fps。所以可以看到繪圖還是挺耗時的。

SPI的速率是20MHZ。那么每秒最大傳輸大約20幀。

每幀的計算大約0.035秒,傳輸大約0.05秒,加起來大約耗時0.085秒,所以每秒大約傳輸大約11.7幀,再除去其他操作,大約就是11幀/s。

看來還是需要用并口才能實現高的刷新率。

下載地址
《海凌科HLK-W801上面移植nes模擬器》

總結

以上是生活随笔為你收集整理的单片机---HLK-W801移植Nes模拟器(三)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 医生强烈淫药h调教小说视频 | 成年人免费在线看 | 色大师在线观看 | 成人在线免费网址 | www色中色 | 三级艳丽杨钰莹三级 | 欧美久久久久久又粗又大 | 亚洲成av人片 | av国产片| 久久国产成人精品av | 欧美日韩视频 | 天天干天 | 久久久久人妻精品一区二区三区 | 蜜桃av网站| 综合久久久 | 久久aⅴ乱码一区二区三区 亚洲成人18 | 91老女人 | 成人在线视频一区二区三区 | 蜜桃av一区二区三区 | 精品久久久久一区二区国产 | 国产吃瓜在线 | 男人的天堂影院 | 久久久久久久久久久国产精品 | 最近中文字幕在线中文视频 | 精品亚洲aⅴ无码一区二区三区 | 久久久久久精 | 国产综合内射日韩久 | 日日爽夜夜操 | 三级中文字幕在线 | 91精品美女 | 日韩av无码一区二区三区 | 亚洲自拍成人 | 无套内谢的新婚少妇国语播放 | 精品视频成人 | 国产在线免费 | 久操视频在线观看 | 欧美在线网站 | 在线精品视频一区 | 欧美浪妇xxxx高跟鞋交 | 国产免费一区二区三区在线播放 | 欧美激情综合 | 美女扒开腿让男生捅 | 亚洲影院一区 | 国产毛片一区二区三区va在线 | 欧美熟妇另类久久久久久多毛 | 一区二区三区免费观看视频 | 欧美xxxx黑人xyx性爽 | 精品欧美一区二区三区久久久 | 丰满大乳奶做爰ⅹxx视频 | 日韩在线视频精品 | 视频一二三区 | 国产免费啪啪 | 男男gay羞辱feet贱奴vk | 四川话毛片少妇免费看 | 国产探花精品一区二区 | 国产日韩欧美在线观看 | 欧美性猛交xx乱大交 | 久久一区国产 | 一区精品在线观看 | 午夜免费福利视频 | 51av在线| 欧美一级做a爰片免费视频 成人激情在线观看 | 91手机在线观看 | 亚洲成av人片久久 | 日本美女在线 | 亚洲不卡av一区二区 | 国产免费a | 亚洲人天堂 | 国产一区一一区高清不卡 | 黄色大片a级 | 亚洲自拍偷拍精品视频 | 中文字幕第15页 | 日韩bbw | 午夜精品久久久久久久99黑人 | 欧美精品videos另类 | 专业操老外 | 日日摸天天爽天天爽视频 | 国产精品理论在线观看 | 国产精品夜夜 | 亚洲AV无码成人精品区先锋 | av看片网站 | 十八禁视频网站在线观看 | 欧美性生活在线视频 | 97碰碰碰 | 春闺艳妇(h)高h产乳 | 免费在线观看视频 | 秋霞欧美一区二区三区视频免费 | 成人在线观看免费爱爱 | 在线视频一区二区 | 操丝袜少妇 | 男人天堂你懂的 | 顶级嫩模啪啪呻吟不断好爽 | 国产精品久久久久久亚洲毛片 | 日韩电影在线观看中文字幕 | 91国内精品久久久 | 欧美最猛黑人xxxx | 中文字幕在线网址 | 久久精品国产大片免费观看 | 婷婷中文 |