लिखने और पढ़ने के लिए सी नहीं मिल सकता है यह मेरा पहला सी प्रोग्राम है। नमस्ते दुनिया! मुझे यकीन है कि इन दिनों हाईस्कूल प्रोग्रामर के लिए कोई समस्या नहीं है, लेकिन जब मैं हाईस्कूल में था तब उनके पास प्रोग्रामिंग नहीं थी। :)सी को सीरियल पोर्ट
मैं जब तक स्ट्रिंग मैं लिखने मेरे पास वापस गूँजती है एक सीरियल पोर्ट के लिए लिखना चाहते हैं। फिर अन्य सामान करो। नीचे मेरा कोड कुछ सेकंड के लिए चलता है और फिर स्ट्रिंग और सिरों को देखने का दावा करता है, भले ही यह वास्तव में स्ट्रिंग को नहीं देख सका। इससे कोई फर्क नहीं पड़ता कि इससे कोई फर्क नहीं पड़ता, मुझे स्पष्ट रूप से कुछ गलत लगता है।
हां, सीरियल डिवाइस/देव/बिल्ली के बच्चे वास्तविक हैं और टर्मिनल से, बैच को पोर्ट करते समय सीरियल पोर्ट पर/dev/kittens को प्रतिध्वनि (echoed) को स्पर्श किया जाता है।
मैं किसी को जो मेरी गलतियों को सही कर सकता करने के लिए सबसे सराहना होगी।
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <termios.h>
int fd;
char *buff;
int open_port(void)
{
fd = open("/dev/kitens", O_RDWR | O_NOCTTY | O_NDELAY);
if (fd == -1)
{
perror("open_port: Unable to open /dev/kittens ");
}
else
fcntl(fd, F_SETFL, 0);
return (fd);
}
int main()
{
int wr,rd;
open_port();
char msg[]="There are mice in the wire.\r";
do
{
/* Read from the port */
fcntl(fd, F_SETFL, FNDELAY);
rd=read(fd,buff,sizeof(msg));
/* Write to the port */
wr = write(fd, msg, sizeof(msg));
printf("debugging - Wrote to port\n");
usleep(10000);
if (wr < 0) {
fputs("write() to port /dev/kittens failed!\n", stderr);
break;
}
} while (buff != msg);
if (buff=msg)
printf(buff, "String Found! Now do the work.");
/*
system("dostuff.sh);
*/
/* Close the port on exit. */
close(fd);
return 0;
}
अकेले बिल्ली के बच्चे के लिए +1 कोड फिक्सिंग शुरू करने के लिए है! – vines
'ओपन() ''/dev/kitens' का उपयोग करने के लिए आपका कॉल। क्या यह एक टाइपो है? –
हां। यह मेरी पोस्ट में एक टाइपो था। धन्यवाद। –