金牌会员
- 积分
- 1714
- 威望
- 876
- 贡献
- 516
- 兑换币
- 549
- 注册时间
- 2014-11-14
- 在线时间
- 161 小时
|
2#
楼主 |
发表于 2015-4-10 23:27:22
|
只看该作者
#include "common.h"
#include "include.h"
#include "isr.h"
void main(void)
{
int i=0,j=0;
DisableInterrupts;
//变量初始化
V_Cnt=0; //行计数
Is_SendPhoto=0; //从串口发送图像
gpio_init(PORTA,14,GPO,0);
gpio_init(PORTA,15,GPO,0);
gpio_init(PORTA,16,GPO,1);
gpio_init(PORTA,17,GPO,1);
/*********************************************************************************/
exti_init(PORTA,29,rising_down); //行中断,PORTA29 端口外部中断初始化 ,上升沿触发中断,内部下拉
disable_irq(87); //行中断关闭
exti_init(PORTB,0,falling_down); //场中断,PORTB0 端口外部中断初始化 ,下降沿触发中断,内部下拉
uart_init(UART5,115200);
/*********************************************************************************/
DELAY_MS(1000);//延时1秒钟
EnableInterrupts;
for(;;)
{
GPIO_TURN(PORTA,17);
#ifdef TIAOSHI //串口调试
if(1==Is_SendPhoto)
{
/*************************************************************************/
//直接发送灰度数据,上位机软件会把图像信息显示出来
disable_irq(88); //关闭PORTB中断,即关闭场中断,防止串口发送图像数据进程被打乱
disable_irq(87);
//以下四句话是固定格式,是串口和上位机软件之间的协议
uart_putchar(UART5,0XFF);
for(i=0;i<V;i++)
{
for(j=0;j<H;j++)
{
if(Pix_Data[i][j]<255)
{
uart_putchar(UART5,Pix_Data[i][j]);
}
else
{
uart_putchar(UART5,254);
}
}
} |
|