中级会员
- 积分
- 300
- 威望
- 167
- 贡献
- 81
- 兑换币
- 94
- 注册时间
- 2015-3-29
- 在线时间
- 26 小时
- 毕业学校
- 昆明理工大学
|
5贡献
新手,用的ov7620,上位机图像一直是这个样子,程序是DMA驱动ov7620例程
void main(void)
{
int i=0,j=0;
DisableInterrupts;
//变量初始化
V_Cnt=0; //行计数
Is_SendPhoto=0; //从串口发送图像
/*********************************************************************************/
exti_init(PORTA,9,rising_down); //行中断,PORTA29 端口外部中断初始化 ,上升沿触发中断,内部下拉
disable_irq(87); //行中断关闭
exti_init(PORTA,27,falling_down); //场中断,PORTB0 端口外部中断初始化 ,下降沿触发中断,内部下拉
uart_init(UART4,115200);
/*********************************************************************************/
EnableInterrupts;
while(1)
{
#ifdef TIAOSHI //串口调试
if(Is_SendPhoto)
{
/*************************************************************************/
//直接发送灰度数据,上位机软件会把图像信息显示出来
disable_irq(87);
disable_irq(88); //关闭PORTB中断,即关闭场中断,防止串口发送图像数据进程被打乱
//以下四句话是固定格式,是串口和上位机软件之间的协议
uart_putchar(UART4,0);
uart_putchar(UART4,255);
uart_putchar(UART4,1);
uart_putchar(UART4,0);
for(i=0;i<V;i++)
{
for(j=0;j<H;j++)
{
uart_putchar(UART4,Pix_Data[j]);
}
}
enable_irq(88); //打开PORTB中断
enable_irq(87);
Is_SendPhoto=0;
uart_putchar(UART1,0x01);
for(i=0;i<V;i++)
{
for(j=0;j<H;j++)
{
if(Pix_Data[j] < 60)
{
uart_putchar(UART4,'1');
}
else
{
uart_putchar(UART4,'0');
}
}
uart_putchar(UART4,'\r');
uart_putchar(UART1,'\n');
}
uart_putchar(UART4,'\r');
uart_putchar(UART4,'\n');
/***************************************************************************/
}
#endif
}
}
|
附件: 您需要 登录 才可以下载或查看,没有帐号?注册
|