广东企业移动网站建设哪家好,网站正在建设中9797,抖音小程序代理,中交建设集团天津公司网站
开发板#xff1a;stm32f407探索者开发板V2
屏幕是4.3寸-800-480-MCU屏
手头没有V3开发板#xff0c;只有V2#xff0c;所以没法测试
所以只讲修改哪里#xff0c;请自行修改
先改手柄部分#xff0c;把手柄改成按键
找到左边的nes文件夹中的nes_mai…
开发板stm32f407探索者开发板V2
屏幕是4.3寸-800-480-MCU屏
手头没有V3开发板只有V2所以没法测试
所以只讲修改哪里请自行修改
先改手柄部分把手柄改成按键
找到左边的nes文件夹中的nes_main.c文件
void nes_get_gamepadval(void)//读取手柄数据函数
把函数里面的语句全部注释掉
//u8 *pt; /* while((usbx.bDeviceState0XC0)0X40)//USB设备插入了,但是还没连接成功,猛查询. { usbapp_pulling(); //轮询处理USB事务 } usbapp_pulling(); //轮询处理USB事务 if(usbx.hdevclass4) //USB游戏手柄 { PADdatafcpad.ctrlval; PADdata10; }else if(usbx.hdevclass3)//USB键盘模拟手柄 { KEYBRD_FCPAD_Decode(pt,0); PADdatafcpad.ctrlval; PADdata1fcpad1.ctrlval; } */
加入下面的语句
手柄1键值 [7:0]右7 左6 下5 上4 Start3 Select2 B1 A0 if(WK_UP0) { PADdata PADdata | 0x08;//Start3 } else { PADdata PADdata ~0x08; } if(KEY00) { PADdata PADdata | 0x04;//Select2 } else { PADdata PADdata ~0x04; } if(KEY10) { PADdata PADdata | 0x02;//B1 } else { PADdata PADdata ~0x02; } if(KEY20) { PADdata PADdata | 0x01;//A0 } else { PADdata PADdata ~0x01; } 由于开发板上的按键只有4个所以就改了4个
下载测试就可以了 下面开始改横屏
我的屏幕的ID是5510 如果您是这个屏幕就可以按下面的修改
还是在nes_main.c文件中
找到void nes_set_window(void)
使用下面的语句 替换这个全部函数 //设置游戏显示窗口 void nes_set_window(void) { u16 xoff0,yoff0; u16 lcdwidth,lcdheight;// u16 regval0;//定义寄存器地址 u16 dirreg0;//定义寄存器的值 dirreg0X3600;//给寄存器的地址 regval|(07)|(16)|(15); //寄存器的值 扫描方式为 U2D_R2L LCD_WriteReg(dirreg,regval);//设置屏的扫描方式寄存器 lcdwidth480;//显示宽度 lcdheight480; //显示高度 nes_xoff(256-(lcddev.width/2))/2;//得到x轴方向的偏移量 xoff0; LCD_Set_Window(160,0,lcdwidth,lcdheight);//让NES始终在屏幕的正中央显示 LCD_SetCursor(160,0);//设置屏幕光标位置 LCD_WriteRAM_Prepare();//写入LCD RAM的准备 }
全部修改完毕