proceso de aprendizaje Smart

comprensión

interrupción

Interrupción: Una interrupción es un solo chip ejecuta otro código, el sistema puede funcionar continuamente interrumpido por interrupción, la rutina de servicio de interrupción para correr, ruptura abierta se refiere a sistemas en funcionamiento continuo puede ser interrumpido para ejecutar la función de servicio de interrupción, las interrupciones desactivar Se refiere a apagar las interrupciones del sistema, interrupción de la operación continua del sistema.
interrupción del microcontrolador es un conjunto muy útil. Vamos a establecer algunas operaciones simples dentro de la rutina de interrupción en la preparación del programa, tales como el teclado en el escáner, los rendimientos de los sensores de datos del programa de lectura, y así sucesivamente. Y sobre todo tienen un fijo de condiciones de activación de interrupción y tiempo, podemos utilizar estos para introducir la interrupción de una hora específica para completar una gran cantidad de eventos específicos. Por ejemplo, hay interrupción 1 Hz, y la interrupción y así sucesivamente ~ ~ 2 Hz
cuando todo listo para romper, entonces todo este tipo de interrupción del microcontrolador será en este momento y sus condiciones únicas, en su propio programa en el interior rutinas de interrupción para realizar el trabajo. Si nosotros interrupciones deshabilitar, entonces todos los tipos de interrupciones sean cuales sean las condiciones y el tiempo no entrará en sus propias rutinas de interrupción para realizar el trabajo. Muchos de interrupción del microcontrolador se puede diferenciar interruptor de selección de interrupción, sino también algunas abiertas y otras cerradas.
Como recordatorio, la pila debe llevarse el set Ay ejecución de interrupción del programa en el interior, Yao protección oportuna de los datos dentro de cada registro común, o unos datos de alarma está en mal estado ~ ~

/*!
 *  @brief      main函数
 *  @since      v50
  *  @note       山.外摄像头 LCD 测试实验
 */
void  main(void)
{
    DisableInterrupts;        //关闭总中断

    PLL_Init(PLL200);         //初始化PLL为200M,总线为100MHZ   决定单片机处理速度
    camera_init(imgbuff);       //摄像头初始化
    UART_Init(UART_4,115200);   //蓝牙或串口初始化


    FTM_PWM_Init(FTM3,FTM_CH1,312,250);//PTE8    //电机1-A
    GPIO_Init(PTE,8,GPO,1);
    FTM_PWM_Init(FTM3,FTM_CH5,312,250);//PTE12    //电机2-A
    GPIO_Init(PTE,12,GPO,1);

    FTM_PWM_Init(FTM0 ,FTM_CH1,62500,duty);//PTC2 50000-125HZ

    EnableInterrupts;

    while(1)
    {
        camera_get_img();                                   //摄像头获取图像
        find_line();
        SendPicture();//调试时  一定要注释这一行!!!
    }
}



void SendPicture(void)
{
  int i=0,j=0;
   UART_Put_Char(UART_4,0x01);
   UART_Put_Char(UART_4,0xFE);
    for(i=0;i<OV7725_EAGLE_H;i++)
    {
      for(j=0;j<OV7725_EAGLE_W;j++)
      {
          UART_Put_Char(UART_4,Image_data[i][j]);
      }
    }
   UART_Put_Char(UART_4,0xFE);
   UART_Put_Char(UART_4,0x01);
}

caza

Shanghai Jiaotong University Freescale búsqueda del algoritmo https://wenku.baidu.com/view/9d90428dd0d233d4b14e690f.html

Los puertos serie

Acrónimo puerto de interfaz serie, también llamado un interfaz de comunicación serie o una interfaz de comunicación en serie (se refiere COM interfaz en general), se extiende interfaces de comunicación en serie. Una interfaz serie (Serial Interface) se refiere a los datos se transmiten secuencialmente un bit, que se caracteriza por una línea de comunicación tan simple como un par de líneas de transmisión puede ser la comunicación de dos vías (líneas telefónicas se pueden usar directamente como una línea de transmisión), lo que reduce enormemente el coste, especialmente adecuado para la comunicación a larga distancia, pero la velocidad de transmisión es menor.
Una interfaz serie (Serial Interface) se refiere a los datos se transmiten secuencialmente un bit, que se caracteriza por una línea de comunicación tan simple como un par de líneas de transmisión puede ser la comunicación de dos vías (líneas telefónicas se pueden usar directamente como una línea de transmisión), lo que reduce enormemente el coste, especialmente adecuado para la comunicación a larga distancia, pero la velocidad de transmisión es menor. datos de bits un bit por bit de información se transmiten en orden de comunicación llamada de comunicación en serie. características de la comunicación en serie son: transmisión de bits de datos, una secuencia de bits, sólo un mínimo de la línea de transmisión a completa; bajo costo pero la velocidad de transferencia lenta. Serial distancia de comunicación puede ser desde unos pocos metros a varios kilómetros; de acuerdo con la información de dirección de transmisión, comunicación en serie puede ser dividida en solo, medio-duplex y full-duplex tres.

Bluetooth puerto serie

1, un puerto serie inalámbrica Bluetooth:
Aquí Insertar imagen Descripción
2, el cable de puerto serie Bluetooth: cada equipo tiene una tira trasera de serie Bluetooth, puede estar conectada directamente por un cable directamente entre Bluetooth.
Aquí Insertar imagen Descripción
3, piezas de hardware y programas puerto serie Bluetooth

UART_Init(UART_4,115200);   //蓝牙或串口初始化 

El siguiente ejemplo es una serie K66 puerto Bluetooth:
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción
en el que RX y TX representan transmisión y recepción, el extremo de transmisión y extremo receptor de la solo chip conexión en serie Bluetooth.
Por ejemplo: RX (transmisión de lado) y en el puerto TX microcontrolador en Bluetooth (extremo de recepción), TX (lado receptor) del microcontrolador y RX (lado de transmisión) en una conexión en serie Bluetooth. Si un error de conexión al sub-líneas, no se extenderá, de acuerdo con el Bluetooth, no una imagen.

Simplex, half y full duplex

1. Los datos simplex transferir la transmisión de datos único apoyo en una dirección; sólo en un lado puede recibir o información de transmisión al mismo tiempo, la comunicación bidireccional no se puede lograr, por ejemplo: televisión, radio.

la transmisión de datos de transmisión de datos permiso 2. semidúplex en ambas direcciones, sin embargo, a la vez, permite la transmisión de datos sólo en una dirección, en realidad es Simplex Una dirección traspaso; al mismo tiempo, sólo puede ser una de las partes para aceptar o información de transmisión, la comunicación bidireccional se puede realizar. Por ejemplo: walkie-talkie.
Aquí Insertar imagen Descripción

3. comunicación de datos dúplex completo permite la transmisión de datos en ambas direcciones al mismo tiempo, y por lo tanto, la comunicación de dúplex completo es una combinación de dos esquema de comunicación simplex, que requiere que envían y reciben dispositivos han recibir separada y la capacidad de transmisión; en mismo tiempo y enviar mensajes aceptables simultáneamente para lograr la comunicación de dos vías, por ejemplo: la comunicación telefónica.

4. Full Duplex NIC (Full Duplex) se refiere a la transmisión simultánea de datos en la tarjeta puede recibir datos, tanto de forma simultánea, ya que normalmente llamamos, como, hablando al mismo tiempo, también se podrá escuchar cada una de las voces del otro. La corriente NIC apoyo general de dúplex completo.

Información extendida:
simplex, semidúplex y telecomunicaciones red de ordenadores tres canales de comunicación full-duplex. se pueden proporcionar canales de comunicación comunicados información de ruta. El canal de comunicación puede ser un medio de transmisión física o a través de un medio de multiplexado lógico. medio de transmisión física se refiere a un material capaz de propagar ondas de energía materiales, tales como cables de comunicación de datos. Generalmente se refiere a una conexión lógica y de conmutación de circuitos de conexión o conexión de circuito virtual en modo paquetes, tal como un canal de telecomunicaciones inalámbricas. Desde canal de ayuda comunicación, la información puede ser transmitida sin obstáculos.

modo Simplex utiliza generalmente en el caso de transmisión de datos en una sola dirección. Por ejemplo, la comunicación entre el ordenador y la impresora es un modo simplex, ya que el ordenador sólo transmitir datos a la impresora, pero no en la dirección opuesta de transmisión de datos. Hay algunos canales de comunicación, tales como una transmisión de radio simplex y similares.

eco

Los llamados eco, los medios de transmisión de datos se muestran en el extremo receptor.

Eco se muestra comandos por lotes en ejecución y los resultados de ejecución y similares. A menudo se refiere como el resultado de la ejecución del programa de desarrollo del sistema, es el regreso de la serie, se introduce un comando, y luego le da un valor de retorno, que se muestra en la pantalla.
Al ejecutar algunos comandos, si no desea que el valor de retorno, es necesario eliminar el eco. Por ejemplo: En el tratamiento con la comunicación en serie, AT comando para detectar si el módulo se comunica con el puerto serie, puede recibir un comando AT. comando devuelve: OK (comunicación serie normal) (sin retorno, no está en comunicación con la comunicación en serie). Con ATE0 eco de eliminación.

comando AT

Hay dos explicaciones en el módem de comandos lenguaje de comandos uno es, el otro está en la línea de comandos tareas programadas de Windows.

módem

Un módem es un hardware de la computadora, la señal digital de equipo que se puede traducir en una señal analógica puede ser transmitida a lo largo de una línea telefónica ordinaria, y las señales analógicas recibidas por el otro módem a su vez el otro extremo de la línea, y traducido a un lenguaje de ordenador comprensible . Este simple proceso es la comunicación completa entre dos ordenadores.

Modulador es un módem (modulador) y el demodulador (demodulador) se refiere, china llamada de módem (en adelante, Hong Kong y módem), según módem del mismo nombre, cariñosamente llamado "gato". Se modulada por la señal digital lado de transmisión en una señal analógica, y luego demodulada en el extremo receptor por un aparato para convertir una señal analógica en una señal digital.
La modulación llamada, es la de convertir una señal digital en una señal de transmisión analógica de la línea telefónica; demodular, es decir, la conversión de las señales analógicas en señales digitales. Conocidos colectivamente como el módem.

CCD lineal

sensores CCD: CCD de carga acoplada sensor de imagen dispositivo (Charge Coupled Device)
sensor CCD es un dispositivo de conversión fotoeléctrica nuevo tipo, que puede almacenar la carga de señal generada por la luz

COMO 口

Apodo: puerto de comunicaciones serie, puerto com
puerto COM (puerto de comunicación de clúster), que es un puerto de comunicaciones serie, se hace referencia al puerto serie . El puerto serie es un 9-pin es típicamente un microordenador, hay interfaz 25-pin, los 115200bps tipo máximo. Normalmente se utiliza para conectar un ratón (en serie) y dispositivos de comunicación (por ejemplo, conexión de módem externo para la comunicación de datos o de algunas plantas de interfaz CNC-máquina) y similares. Por lo general, sólo una placa base puerto serie externo, y en paralelo con la parte posterior del chasis que terminal de salida abalone (trapecio) es el puerto COM1, el pasador delantero-puerto de salida COM2 generalmente a partir de la placa base. Paralelo es el más largo de la abertura trapezoidal.

umbral

La media de los límites de umbral, por lo que el valor umbral llamaron a la crítica

binarización

binarización de imágenes es configurar el valor de gris del píxel en la imagen es 0 o 255, es decir, toda la imagen que muestra un claro efecto sólo visuales blanco y negro. Binarización (Inglés: Umbral) es uno de los método más simple de segmentación de imágenes.

Los datos de imagen

Los datos de imagen son de arriba a abajo, de izquierda a derecha tienda (esto tanto incierto)

Superior e inferior de la máquina

PC se refiere a comandos de dirección pueden ser emitidos directamente a la computadora, por lo general PC / ordenador host / equipo maestro / ordenador superior, varios cambios de señal se mostrarán en la pantalla.
Se refiere a bajar máquina controlar directamente el dispositivo de adquisición de estado del dispositivo, generalmente PLC / microcontrolador o similar. Comando emitido por el ordenador anfitrión próxima tripulación, el siguiente equipo de interpretarse de acuerdo con la señal de temporización correspondiente correspondiente al comando de control directamente al dispositivo. oportunidad datos aparato de lectura de estado Bit de tiempo en tiempo y, a continuación, convertida en señales digitales en el dispositivo host.
Sólo la longitud de la transmisión de datos formato de máquina inferior con la configuración del equipo host son los mismos pueden identificar correctamente el formato de imagen, una imagen se muestra correctamente.

Depuración asistente de cámara

Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción

CCD lineal asistente de depuración

Aquí Insertar imagen Descripción

osciloscopio virtual

Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción

Los dispositivos de dirección (motor alojado en su interior)

medios servo de control de la superficie de control del avión (superficie de manipulación) en el piloto automático para realizar miembro giratorio. Los puntos son: ① aparato de gobierno eléctrico, por un motor eléctrico, el elemento de accionamiento y los componentes del embrague.

lista de definiciones de reloj

AP

PDB retardo controlable puede proporcionarse como una fuente de disparo interna o externa, o disparador o generar DAC proporciona hardware ADC intervalo programable. Esto podría pensar que la finalización de la ADC y DAC de salida para proporcionar la hora exacta. módulo de salida de impulsos PDB puede estar provisto también, en el módulo de CMP línea como ventana de muestreo.

temporizador elástica (FlexTimer, FTM)

módulo temporizador flexible (FTM) es una comparación de salida y la señal PWM generador de soporte de captura de entrada para controlar las aplicaciones del temporizador de canal y de gestión de potencia del motor 2-8. FTM es una referencia de tiempo se puede utilizar como un contador con o sin signo contador de 16 bits.
FTM módulo tiene un solo dominio de reloj es el reloj del sistema.

1, contador sincronizado

Aquí Insertar imagen Descripción

2, inicializar el flip-flop

Si INITTRIGEN = 1, a continuación, cuando el contador se actualiza al valor FTM CNTIN registro en el caso siguiente, un disparador se genera FTM. Cuando el contador se selecciona como la tecnología de modo de FTM, CNTIN actualiza automáticamente en el valor del registro. Al escribir en los registros de la CNT. Cuando la sincronización si (CNT = CNTIN), (CLKS [1: 0] = 0: 0) contador FTM tiene, y hay un valor distinto de cero está escrito CLKS [1: 0] Bits

Distinción 3, PIC registro del temporizador microcontrolador y el registro período del temporizador

registros de temporizador incluyen un registro de control y un registro de ciclo, un registro de control del temporizador puede ser conjunto de frecuencias relación de división, lo que permite fuente de oscilación, habilitación de interrupción, etc., y el registro de tiempo se utiliza para almacenar el número contado por el temporizador, tal como 16 el temporizador puede contar hasta 65.535 veces.
Registro periodo aparece en TMR2, se puede establecer un máximo de FFH (valores por defecto son todo 1), cuánto valor se establece, utiliza desbordamiento natural de desbordamiento no es después de todo una a ese valor, sino que depende del período y registro TMR2 comparación de los resultados tanto del contenido de un partido, pero inmediatamente envían un mensaje de desbordamiento

4, temporizador

disparador del temporizador periódico después de la apertura. Cargando el valor de inicio del temporizador, tal como se describen en el registro LDVAL, y la cuenta atrás hasta cero. Y luego cargar su propio valor inicial. Cada vez que el temporizador cuenta a cero, se genera un impulso de disparo y la bandera de interrupción se fija. Todas las interrupciones pueden ser abiertos o bloqueados (ajustando el registro de interrupción bits de tCtrl TIE). Sólo después de que el anterior se borra, se generará la nueva interrupción.
Si se desea, el temporizador puede ser leído por el valor actual de la CVAL registro del contador. Apagar el temporizador, a continuación, se inicia un temporizador por el periodo de bit TEN recuento de reinicio.

puntero

Puntero es un tipo especial de datos, normalmente no se encuentran en otros idiomas. Un puntero a un puntero de dirección de la variable es la dirección de la celda de memoria sustancialmente de. Dependiendo del tipo de variables mencionadas, puede ser un puntero a un entero (int *), flotador puntero (float *), puntero carácter (char *), puntero estructura (struct *) y el puntero combinado (unión *).

tipo de puntero nulo

Como su nombre indica, * vacío "No Tipo de puntero", un puntero que se utiliza para definir una variable, que no especifica qué tipo de punto de datos, pero puede ser obligado a convertirse en cualquier tipo de puntero. Sabido que si el mismo tipo del puntero P1 y P2, se puede asignar directamente entre sí entre P1 y P2, si p1 y p2 punto a diferentes tipos de datos, debe utilizar un operador de asignación correcta clase de puntero operador de conversión
del convertidor el tipo de puntero a la izquierda.
[Por ejemplo]:

 float *p1; //声明 p1 为浮点型指针
int *p2; //声明 p2 为整型指针 
p1 = (float *)p2;//强制转换整型指针 p2 为浮点型指针值给 p1 赋值
 而 void *则不同,任何类型的指针都可以直接赋值给它,无需进行强制类型转

En otras palabras:

void *p1; //声明 p1 无类型指针
int *p2; //声明 p2 为整型指针
p1 = p2; //用整型指针 p2 的值给 p1 直接赋值

Esto no quiere decir, sin efecto de conversión de tipo * se puede asignar a otros tipos de indicadores, sin forzar, que p2 = p1 Esta declaración será error de compilación, p1 debe ser fundido a escribir "void *" Tipo . Debido a que "ningún tipo" puede ser inclusivo, "escrito" y "escrito" no es inclusiva "ningún tipo."

estructura

La estructura se compone de tipos de datos básicos, y la combinación con un identificador de variables con nombre. La estructura puede ser utilizado en diferentes tipos de datos.
1) define la estructura y la descripción de las variables de estructura
[por ejemplo] define un tipo de estructura estudiante variable llamada

struct student //定义一个名为student的结构体变量类型
{ char name[8]; //成员变量“name”为字符型数组
char class[10]; //成员变量“class”为字符型数组
int age; //成员变量“age”为整型
};

Por lo tanto, si la declaración variable s1 estructura es un tipo de "estudiante", utilice la siguiente declaración:
struct s1 estudiante; // s1 declare es "estudiante" estructura de tipo de variable
[], por ejemplo, definir una variable de estructura estudiante llamado tipo, mientras que s1 declarado como un "estudiante" de tipo
variable de estructura

struct student //定义一个名为student的结构体变量类型
{ char name[8]; //成员变量“name”为字符型数组
char class[10]; //成员变量“class”为字符型数组
int age; //成员变量“age”为整型
}s1; //声明s1为“student”类型的结构体变量

2) la estructura mediante la variable
estructura es un nuevo tipo de datos, la estructura operador de asignación variable puede ser igual que otros tipos de variables,
a excepción de que las variables de estructura como un miembro de las variables básicas.
Representación de los miembros de la estructura del cuerpo:
El cuerpo de estructura de nombre de variable miembro
. Si "Miembros de la estructura nombre de la variable" en su conjunto, el tipo de datos y la estructura general de los miembros de la
mismo tipo de datos, tales como frente como el uso de hablar acerca de las variables.
[Por ejemplo]:

s1.age=18; //将数据 18 赋给 s1.age(理解为学生 s1 的年龄为 18)

3) la estructura de puntero
puntero estructura es un puntero a un puntero a una estructura. Estructura antes de que se aplica al nombre de variable por uno de los "*" operador declaró.
Por ejemplo, con un puntero estructura declaración de estructura se ha descrito anteriormente como sigue:

struct student *Pstudent; //声明 Pstudent 为一个“student”类型指针

Uso estructura se refiere a acceso a miembros de la estructura en la expresión de los miembros de la estructura de acceso, y la variable de estructura
es diferente. La estructura se refiere a una estructura accesible para los miembros expresados como:
Estructura de los nombres puntero - Miembros> estructura
donde "->" son dos símbolos "-" combinación y ">", como una flecha que señala a los miembros de la estructura. El ejemplo anterior para dar un determinado
nombre de estructura definida y edad se le asigna, puede utilizar la siguiente declaración:

strcpy(Pstudent->name,"LiuYuZhang");
Pstudent->age=18;

De hecho, Pstudent-> nombre es (* Pstudent) .name de la forma corta. Se hace notar que un puntero de estructura es un puntero a una estructura, es decir, la primera dirección de la estructura del primer miembro, y el puntero de estructura por lo tanto debe ser inicializado, es decir, la longitud de bytes asignado de la estructura espacial de todo el cuerpo antes del uso. Esta función se puede utilizar para completar la siguiente:

Pstudent=(struct student*)malloc(sizeof (struct student));
sizeof(struct student)自动求取 student 结构体的字节长度,
malloc()函数定义了一个大小为结构体长度的内存区域,然后将其地址作为结构体指针返回。

GPIO general de salida de entrada Propósito

1, General Purpose Input

Pin registro de entrada de datos, el estado lógico se puede obtener para cada pasador, el pasador se proporciona funciones digitales módulo de control de puerto y una interrupción válida dispuestos correspondientes. de entrada de datos pines de control orificio de retorno pin registro asíncronas en la entrada válida y cualquier válidas después de filtro digital. pines de entrada asíncronas comparten el módulo de control de puerto de interrupción y, en caso de puerto apropiado para el control y el módulo de interrupción de forma asíncrona, mientras que también Fracaso Fracaso. Cuando un puerto de entrada para la función de uso general no es necesario, lo que reduce el consumo de energía.

2, salida común

Cada estado lógico del pasador por el registro de salida de datos de contactos y salida de registro habilitar pin de control, el pasador está configurado para proporcionar funciones como GPIO. Si el pasador PIO se configura como la función y la correspondiente salida de datos permiten bit de registro se borra, el pin se configura como una entrada. Si el pasador está configurado como función GPIO y la correspondiente salida de datos de registro habilitar bit se establece, a continuación, el pasador está configurado como un pin de salida y el estado lógico del registro de salida de datos correspondiente a la misma pin. A fin de lograr bits significativos usando un registro de salida de propósito general por escrito a una sola, un puerto en el conjunto, o conjunto de datos pasador de disparo claro, los datos clara pin y el gatillo de pasador de registro de datos permite a una o más salidas. Y un módulo de control de puerto correspondiente no necesita las actualizaciones de estado de interrupción permiten pin eficiente registro de salida y los registros de pines de salida de datos (incluyendo los valores de los registros / Borrar / disparo)

/ Universal Asynchronous Receiver Transmitter (UART)

UART permite la comunicación serie asíncrona con otros dispositivos periféricos y CPU.

Publicado 98 artículos originales · ganado elogios 43 · Vistas a 30000 +

Supongo que te gusta

Origin blog.csdn.net/qq_42352666/article/details/83317960
Recomendado
Clasificación