全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/* 摄像头位数据位 - portd07 * pclk - portc0 * 行中断 - porta29 * 场中断 - portb0 * 图像数据输出 - k60串口1,波特率256000 * 总线频率的设置在k60_fire.h中修改 * #define mcg_clk_mhz pll200 * * #define max_bus_clk 50 * * 科技 */#include common.h#include include.h#define h 320 #define v 70unsigned char pix_datavh=0;void porta_irqhandler(void);void portb_irqhandler(void);void dma_ch4_handler();unsigned int hang_cnt=0,row_select=0; /行采集计数unsigned char is_sendphoto=0; /图像发送标志unsigned char row_collect100=10, 12, 15, 17, 20, 22, 25, 27, 30, 32, 35, 37, 40, 42, 45, 47, 50, 52, 55, 57, 60, 62, 65, 67, 70, 74, 77, 81, 84, 88, 91, 95, 98,102,105,109,112,116,119,123, 126,130,133,137,140,144,147,151,154,158, 162,166,170,174,178,182,186,190,194,198, 202,206,210,214,218,222,226,230,234,238 ,0;/需采集数据的行void main() int i=0,j=0; disableinterrupts; hang_cnt=0; /行计数 is_sendphoto=0; /从串口发送图像 row_select=0; port_init(pta29,irq_rising|pf|alt1|pulldown); /行中断,porta29 端口外部中断初始化 , /上升沿触发中断,内部下拉 disable_irq(porta_irqn); /行中断关闭 port_init(ptb0,irq_falling|pf|alt1|pulldown); /场中断,portb0 端口外部中断初始化 , /下降沿触发中断,内部下拉 uart_init(uart1,256000); set_vector_handler(porta_vectorn,porta_irqhandler); /设置行中断函数 set_vector_handler(portb_vectorn,portb_irqhandler); /设置场中断函数 set_vector_handler(dma4_vectorn,dma_ch4_handler); /enable_irq(portb_irqn); /数据口初始化 gpio_init(ptd0,gpi,0); gpio_init(ptd1,gpi,0); gpio_init(ptd2,gpi,0); gpio_init(ptd3,gpi,0); gpio_init(ptd4,gpi,0); gpio_init(ptd5,gpi,0); gpio_init(ptd6,gpi,0); gpio_init(ptd7,gpi,0); enableinterrupts; portb_isfr |= (10); /清场中断标志位 enable_irq(portb_irqn); while(1) if(is_sendphoto) disable_irq(porta_irqn); disable_irq(portb_irqn); /关闭portb中断,即关闭场中断,防止串口发送图像数据进程被打乱 for(i=0;iv;i+) for(j=0;jh;j+) if(pix_dataij=0xff) pix_dataij=0xfe; uart_putchar(uart1,pix_dataij); uart_putchar(uart1,0xff); portb_isfr |= (10); /写1清中断标志位 enable_irq(portb_irqn); /打开portb中断 is_sendphoto=0; hang_cnt=0; row_select=0; void porta_irqhandler() if(porta_isfr & (129) /pta29触发中断,行中断 hang_cnt+; if(hang_cnt=239) is_sendphoto=1; disable_irq(porta_irqn); if(hang_cnt =row_collectrow_select) /判断该行数据是否需要,根据自己需要的行数自己设定判别条件 dma_en(dma_ch4); /使能通道chn 硬件请求 row_select+; /if(row_select=70) / row_select=0; /disable_irq(porta_irqn); porta_isfr |= (129); /写1清中断标志位 void portb_irqhandler() if(portb_isfr & (10) /ptb0触发中断,场中断 / is_sendphoto = 0; porta_isfr |= (129); /清行中断标志位 enable_irq(porta_irqn); /使能porta中断,即开启行中断,porta的isr中断号为87 dma_portx2buff_init(dma_ch4,(void *)&ptd_b0_in,pix_data,ptc0,dma_byte1,h,daddr_keepon); /dma通道4初始化,ptc0上升沿触发dma传输,源地址为ptd_byte0_in, /目的地址为:pix_data ,每次传输1byte,传输h次后停止传输, /目的地址保持不变,关闭通道chn 硬件请求 hang_cnt=0; /行采集计数清零 is_sendphoto = 0; row_select=0; portb_isfr |= (10); /写1清中断标志位 disable_irq(portb_irqn); void dma_ch4_handler(void) dma_irq_clean(dma_ch4); /清除通道
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 团队主管面试自我介绍
- 种草施工合同协议书
- 疫情防控员协议合同
- 电叉车租赁合同范本
- 盐碱褥子生产协议书
- 租店签股份合同协议
- 租房分摊协议书范本
- 租车接送幼儿协议书
- 租房安全防火协议书
- 租房押金补交协议书
- 刘老根大舞台开幕曲简谱乐谱
- 新闻采访学2023章节测试答案-新闻采访学超星尔雅答案
- 西安某综合办公楼弱电智能化设计方案
- 西南交通大学机械原理课后习题答案
- 初始理论课件 CHAPTER4自动飞行
- GB/T 8642-2002热喷涂抗拉结合强度的测定
- GB/T 38145-2019高含量贵金属合金首饰金、铂、钯含量的测定ICP差减法
- 计量基础知识培训 课件
- 超星网络课隋唐史答案
- 9tomo临床应用3年汇报
- 《风景名胜区条例》解读课件
评论
0/150
提交评论