中级会员
- 积分
- 204
- 金钱
- 204
- 注册时间
- 2016-5-29
- 在线时间
- 44 小时
|
发表于 2016-5-29 23:41:50
|
显示全部楼层
好久没弄的。现在只有通过串口文件xx.bin发来的数据存到tft320*480屏幕的了,改一改就行了,把接收到的单字节数据拼成256还是512字节一页,然后写到flash里,波特率调低一点。来让stm32有时间来存到flash里。不要在串口里运行,到主程序里搞个分支。进入分支后,通过串口发。bin文件就行
case 0x05:
{u16 colum1=320*2,page1=480,temp;
u8 count_shunxu =1;
LCD_SetPos(0,0,320-1,480-1);
USART_ITConfig(USART2, USART_IT_RXNE, DISABLE); //关闭接收中断
colum1=320*2;page1=480;
while(page1--)
{
colum1=320*2;
while(colum1)
{
if(USART_GetFlagStatus(USART2, USART_FLAG_RXNE) != RESET) // 接收中断有效 ;
{
temp = ((uint8_t)(USART_ReceiveData(USART2)));
LCD_W_DATA16((u8)(temp));
//这里把temp搞个指针拼256还是512字节一组然后写进flash
colum1--;
USART_ClearFlag(USART2, USART_FLAG_RXNE);
// if(count_shunxu == 1)
// {
// temp = ((uint8_t)(USART_ReceiveData(USART2)))<<8;
// ji_ou = 0;
// }
// else
// {
// temp = temp + ((uint8_t)(USART_ReceiveData(USART2)));
// ji_ou = 1;
//
// LCD_W_DATA16((u8)(((temp)&0x1F)<<3));
// LCD_W_DATA16((u8)(((temp>>5)&0x3F))<<2);
// LCD_W_DATA16((u8)((temp>>11)<<3));
// }
}
}
}
USART_ITConfig(USART2, USART_IT_RXNE, ENABLE); //使能接收中断
;break;
} |
|