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;
}
}
}
上一篇:stm32驱动lora模块sx1278
下一篇:stm32F407+ov7670的摄像头识别
推荐阅读最新更新时间:2024-11-06 08:48
设计资源 培训 开发板 精华推荐
- LTC3417AIDHC-2 的典型应用电路,1.8V at 1.5A/2.5V at 1A 降压稳压器
- AP1510 PWM控制3A降压转换器的典型应用
- 使用 Analog Devices 的 LTC3130EMSE 的参考设计
- DER-622 - 两线制(无中性线)、宽范围、非隔离反激式、蓝牙墙壁开关
- 使用基于 ZICM3588SP0-1C-R Ember EM35x 收发器模块的 Mesh Connect EM35x 迷你模块的典型应用电路
- LT2940IMS 宽输入范围 10W PWM 热源的典型应用电路
- LT1934IS6 独立式 350mA 锂离子电池充电器的典型应用电路
- MAXREFDES64#:8通道数字输入微型PLC卡
- LT1769 的典型应用 - 具有输入电流限制的恒流 / 恒压 2A 电池充电器
- 正负电源模块