- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Qt编程:打电话和发短信
一、图像界面如下:
(主界面)
(打电话界面)
(发短信界面)
二、总体代码如下
//UARTIO.H
#ifndef UARTIO_H
#define UARTIO_H
int open_uart(char *fname);
int set_uart_speed(int fd, int speed);
int set_uart_parity(int fd, int databits, int stopbits, int parity);
ssize_t read_uart_timeout(int fd, void *buf, size_t count, int timeout);
#endif
//UARTIO.cpp
#include termios.h //涓插彛澶存枃浠?
#include sys/stat.h
#include sys/fcntl.h
#include unistd.h
#include string.h
int __speed_table[] = { B115200, B57600, B38400, B19200, B9600, B4800, B2400, B1200, B300,};
int __name_table[] = {115200, 57600, 38400, 19200, 9600, 4800, 2400, 1200, 300,};
//鎵撳紑涓插彛鍑芥暟锛屽弬鏁颁负涓€涓插彛璁惧鏂囦欢鍚?
int open_uart(char *fname)
{
struct termios term_opt;
int fd;
fd=open(fname,O_RDWR|O_NOCTTY);
if (fd == -1) return -1;
bzero(term_opt, sizeof(struct termios));
//defalut settings
cfmakeraw(term_opt);
term_opt.c_cc[VTIME] = 0;
term_opt.c_cc[VMIN] = 0;
if (tcsetattr(fd,TCSANOW,term_opt) != 0) {
close(fd);
return -1;
}
tcflush(fd, TCIOFLUSH);
return fd;
}
//璁剧疆涓插彛閫熺巼
int set_uart_speed(int fd, int speed)
{
int i,j;
int ret;
struct termios term_opt;
tcgetattr(fd, term_opt);
j=sizeof(__speed_table)/sizeof(int);
for (i= 0;ij/*sizeof(__speed_table)/sizeof(int)*/;i++) {
if (speed==__name_table[i]) {
tcflush(fd, TCIOFLUSH);
cfsetispeed(term_opt, __speed_table[i]);
cfsetospeed(term_opt, __speed_table[i]);
ret=tcsetattr(fd, TCSANOW, term_opt);
if (ret != 0) return -1;
tcflush(fd,TCIOFLUSH);
break;
}
}
return 0;
}
//璁剧疆鏍¢獙
int set_uart_parity(int fd,int databits,int stopbits,int parity)
{
struct termios term_opt;
文档评论(0)