历史上的今天
返回首页

历史上的今天

今天是:2025年07月21日(星期一)

正在发生

2020年07月21日 | stm32f407驱动山外鹰眼二值化摄像头

2020-07-21 来源:51hei

stm32f407芯片主程序:

#include "main.h"


uint8_t pic[OV7725_DATASIZE];

bool busy = false;


void ov7725_isr(void)

{

  uint8_t *ptr = (uint8_t*)&pic[0];

  if(!busy)

  {

    OV7725_GetImg(ptr);

    busy = true;

  }

}


int main(void)

{

  uint16_t i;

  

  GPIO_InitTypeDef GPIO_InitStruct;

  USART_InitTypeDef USART_InitStruct;

  

  //GPIO initialize

  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);

  GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_USART1);

  GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_USART1);

  GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF;

  GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;

  GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;

  GPIO_InitStruct.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10;

  GPIO_Init(GPIOA, &GPIO_InitStruct);

  

  //USART1 initialize

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);

  USART_InitStruct.USART_BaudRate = 256000UL;

  USART_InitStruct.USART_HardwareFlowControl = USART_HardwareFlowControl_None;

  USART_InitStruct.USART_Mode = USART_Mode_Tx;

  USART_InitStruct.USART_Parity = USART_Parity_No;

  USART_InitStruct.USART_StopBits = USART_StopBits_1;

  USART_InitStruct.USART_WordLength = USART_WordLength_8b;

  USART_Init(USART1, &USART_InitStruct);

  USART_Cmd(USART1, ENABLE);

  

  printf("Hello, world!rn");

  

  if(OV7725_Init())

    printf("Camera init failedrn");

  else

  {

    OV7725_Callback_Install(ov7725_isr);

    //OV7725_Cmd(ENABLE);

    printf("Done!rn");

  }

  

  while(1)

  {

    if(busy)

    {

      putchar(0x01);

      putchar(0xFE);

      for(i = 0; i < OV7725_DATASIZE; i++)

        putchar(pic[i]);

      putchar(0xFE);

      putchar(0x01);

      busy = false;

    }

  }

}


推荐阅读

史海拾趣

问答坊 | AI 解惑

值得好好学习,周立功讲述其创业故事(完整版) 转

尽管我们不能改变制度,也不一定能够改变别人,但我们可以改变自己,因为没有人能够阻止我们不断进步,如果失败或者失意,那只能怪我们自己无能,怪我们自己不善于学习,不能怪别人没有给您机会,更不能怪这个社会......    我创业至今 ...…

查看全部问答>

改进版8位数码管汇编数字钟

几天前帮同学课程设计写的那个数字钟(51单片机简洁版汇编数字钟),由于时间紧,随便搞了两下。那个程序不怎么好,用两个按钮分别调时调分,而且只能增加,不小心按到按钮便调动了时间,不能用于实际产品。恰巧我自己的单片机课程设计题目是“自动 ...…

查看全部问答>

关于示波器的十个问题和十个答案

示波器数字示波器一直是工程师设计、调试产品的好帮手。但随着计算机、半导体和通信技术的发展,电路系统的信号时钟速度越来越快,信号上升时间也越来越短,导致因底层模拟信号完整性问题引发的数字错误日益突出。针对这些新的测试挑战,示波器供应 ...…

查看全部问答>

【藏书阁】基于USB的串行通信软硬件设计

在工业控制和数据采集系统中,单片机以其低成本,编程灵活、方便,实时性强和具有一定的智能而得到了广泛的应用。然而,许多复杂任务的实现,如人机对话、 任务的切换、算法的实现、大数据的运算等,单片机就显得有些力不从心,而 PC 机在这方面却 ...…

查看全部问答>

WM60下GPRS 拨号不上

WM60系统 CPU:s3c2443 gprs模块是MC52i 现在通过RIL,希望同时获取信号强弱及IMEI,以及可以拨号上网。 现在可以获取信号及IMEI,但GPRS拨号不上,一下是拨号中的debug message,那位DX可以帮忙指点一下 ####################Debug message## ...…

查看全部问答>

sqlce2.0数据库open打不开

我的程序是这么写的,到open哪儿就打不开了.有人说是路径的问题,可是我看不出来路径有问题啊?哪位大侠帮帮忙吧! if(FAILED(CoInitializeEx(NULL, COINIT_MULTITHREADED)))                 return FA ...…

查看全部问答>

wince串口通讯

wince串口通讯遇到一个问题: 1.用C#写的在模拟器环境下没有问题,可以和终端通讯上。 2.下载到设备后通讯不上。 3.改用VC2005写的程序模拟器下可以通讯,下载到设备上亦可以通讯,请高手指点一二,不胜感激…

查看全部问答>

LIST BOX显示数据的问题

{          // TODO: 在此添加控件通知处理程序代码          int nEngineType;          int OpenMode;           ...…

查看全部问答>

逆变电源相关基础

一.什么是逆变电源?  答:逆变电源是把直流电变成交流电的一种电子设备。常叫做逆变器。二.逆变电源有哪些分类?  1)按照逆变电路原理:工频型、高频型  2)按输出波形:纯正弦波、修正正弦波(阶梯波)、方波  3)电压源型和电流源型三 ...…

查看全部问答>

27MHz键鼠接收器不能对码

键鼠套装的接收器不能对码(有三块集成块2762A、24A02、CY7C63743-SXC0607),键鼠是好的,用另一套的接收器能用,但两个接收器的电路不一样,求资料,谢谢…

查看全部问答>