Código
me preguntaba como puedo hacer para que este mande un mensaje a arduino y que arduino me muestre el mensaje en su monitor serie
#include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h> #include <windows.h> void SerialSendByte(HANDLE hPort, char byte); //envía datos enn el puerto char SerialRecieveByte(HANDLE hPort); //recive datos en el puerto BOOL CloseSerialPort(HANDLE hPort); //cierra puerto HANDLE OpenSerialPort(char *psPort,//es pecifica en que COM se trbajará DWORD dwBaudRate, // tasa de transferencia BYTE dwByteSize, //especifica el tamaño de la cadena BYTE bParity, // para asegurar si la cadena se envió completa o no BYTE bStopBits, // para la cadena de caracteres DWORD Timeout) // espera cierto tiempo para recibir orden y si no recieb nada despliega un mensaje { HANDLE hPort; DCB dcbPort; DWORD dwError; COMMTIMEOUTS commTimeouts; hPort = CreateFile(psPort, //se crea un archivo el cual contiene ciertos parametros para poder funcionar GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL); if(hPort == INVALID_HANDLE_VALUE) //se crea un if para saber si se creó el archivo { dwError = GetLastError(); return(hPort); } FillMemory(&dcbPort/*indica memoria de puerto*/, sizeof(dcbPort)/*indica el tamaño de la memoria designada al puerto*/,0/*indica si esta activo*/); //permite la administracion de la memoria del puerto, para esto es necesario la variable DCBport dcbPort.DCBlength = sizeof(dcbPort); GetCommState (hPort, &dcbPort); //recoge el puerto, el tamaño y el estado dcbPort.BaudRate = dwBaudRate; //atributo del objeto dcb port e indica la tasa de transferencia dcbPort.ByteSize = dwByteSize; dcbPort.Parity = bParity; dcbPort.StopBits = bStopBits; if(!SetCommState(hPort, &dcbPort)) //Verificar el estado del puerto { dwError = GetLastError(); CloseSerialPort(hPort); hPort = INVALID_HANDLE_VALUE; return(hPort); } if(!SetCommTimeouts(hPort, &commTimeouts)) //Verificar el tiempo de espera { dwError = GetLastError(); CloseSerialPort(hPort); hPort = INVALID_HANDLE_VALUE; return(hPort); } return hPort; } char SerialReceiveByte(HANDLE hPort) { DWORD bytesread; DWORD *ptrbytesread = &bytesread; char read; char *ptrread = &read; ReadFile(hPort,ptrread,1,ptrbytesread,NULL); if (read == 'a') { } return (read); } void SerialSendByte(HANDLE hPort, char byte) // permite enviar datos { DWORD byteswritten; DWORD *ptrbyteswritten = &byteswritten; char *ptrwrite = &byte; WriteFile(hPort,&byte,1,ptrbyteswritten,NULL); } BOOL CloseSerialPort(HANDLE hPort) { BOOL bRes; DWORD dwError; bRes = CloseHandle(hPort); if(!bRes) { dwError = GetLastError(); } return bRes; } int main() { HANDLE hPort; char byte; char a='a'; hPort = OpenSerialPort("COM3",CBR_9600,8,NOPARITY,ONESTOPBIT,10000); if(hPort == INVALID_HANDLE_VALUE) { return 1; } while(1) { SerialSendByte(hPort, a); byte = SerialReceiveByte(hPort); if (byte == 'a') } CloseSerialPort(hPort); return 0; }
hola a todos
hice este código pero deseo que las horas se manden a arduino y aparezcan en una pantalla lcd
Código
alguien de favor me podría decir el como hacer que aparezcan
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <windows.h> void america(int a,int b, int c) { } void asia (int a,int b,int c)//10:00 - 00:00 { } void africa (int a,int b, int c)// 17:00 - 00:00 { } void oceania (int a, int b, int c)// 11:00 - 00:00 { } void europa (int a, int b, int c)//18:00 - 00:00 { } void local (int a, int b, int c) { } int main () { int a,b,c; char opc; WORD pausa=1000; inicio: local (a,b,c); if (a<24&&b<=59&&c<=59) { america (a,b,c); asia (a,b,c); africa (a,b,c); oceania (a,b,c); europa (a,b,c); c++; if (c==60) {c=0; b++;} if (b==60) {b=0; a++;} if (a==24) a=0; Sleep(pausa); goto inicio; } }
· No hagas dos temas sobre el mismo asunto
>aquí las reglas del foro
-Engel Lex