全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/* 摄像头位数据位 - 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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医学护理查房中的患者安全管理策略
- 中暑的现场急救与转运护理
- 【2026】年健康干预题库及解析
- 山东省枣庄达标名校2026届中考联考物理试卷含解析
- 中医急诊护理中的中药灌肠技术
- 护理核心制度与护理工作效果
- 2026届四川省宜宾市翠屏区二片区达标名校毕业升学考试模拟卷物理卷含解析
- 岳阳市云溪区2025年数学三下期中学业水平测试模拟试题含答案
- 江苏省南京市秦淮区四校联考2026届中考物理模拟预测试卷含解析
- 乙肝患者五禽戏护理法
- DBJT15-162-2019 建筑基坑施工监测技术标准
- 银行装修施工方案
- 安全生产管理制度-普货运输
- 保洁服务项目投标技术方案(技术标)
- 环北部湾广西水资源配置工程环评报告
- 村委会规范化建设课件
- 土方平衡工程施工方案样本
- 中国近现代史纲要社会实践报告十二篇
- 胸腔积液诊断的中国专家共识(2022版)解读
- 医务人员职业暴露预防及处理标准操作规程
- 中国饲料原料基础知识课件
评论
0/150
提交评论