当前位置: 首页 > wzjs >正文

上海广告公司网站制作推广新产品最好的方法

上海广告公司网站制作,推广新产品最好的方法,管理咨询师证书,网站销售怎么做原理图 从上图可以看到RS232的串口接的是UART3,接下来我们需要使能UART3的收发功能。一般串口的驱动程序在内核中都有包含,我们配置使能适配即可。 设备树 复用功能配置 查看6ull如何进行uart3的串口复用配置: 设备树下添加uart3的串口复用…

原理图

         从上图可以看到RS232的串口接的是UART3,接下来我们需要使能UART3的收发功能。一般串口的驱动程序在内核中都有包含,我们配置使能适配即可。

设备树

复用功能配置

        查看6ull如何进行uart3的串口复用配置:

        设备树下添加uart3的串口复用配置:

pinctrl_uart3: uart3grp {fsl,pins = <MX6UL_PAD_UART3_RX_DATA__UART3_DTE_TX 0x1b0b1MX6UL_PAD_UART3_RX_DATA__UART3_DCE_RX 0x1b0b1>;};

添加设备树节点 

        设备树下添加uart3的设备树节点:

&uart3 {pinctrl-names = "default";pinctrl-0 = <&pinctrl_uart3>;status = "okay";
};

        重新编译设备树make dtbs,并拷贝到开发板对应位置替换之前的设备树文件。

查看串口功能配置

        重启开发板后,查看配置是否生效:

        由上图看出UART3功能配置已经生效。

串口应用编程

应用层代码参考

#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <termios.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <pthread.h>
#include <sys/ioctl.h>
#include <errno.h>#define ttyname "/dev/ttymxc2"
int fd;
static char wbuff[128];
static char rbuff[128];void *read_handler(void * arg){int ret;while(1){memset(rbuff, 0, sizeof(rbuff));ret = read(fd, rbuff, sizeof(rbuff));if(ret == -1 ){perror("read");close(fd);pthread_exit(NULL);}else if(ret > 0){printf("RCV: %s\n", rbuff);fflush(stdout);}}pthread_exit(NULL);
}int main(int argc, char **argv){int ret;pthread_t thread;struct termios tty;fd = open(ttyname, O_RDWR | O_NOCTTY | O_NDELAY);if (fd == -1){// 打开端口失败perror("open_port: Unable to open /dev/tty ");}if(fcntl(fd, F_SETFL, 0)<0) /* 设置串口为阻塞状态*/{printf("fcntl failed!\n");close(fd);return -1;}// 获取当前串口配置memset(&tty, 0, sizeof(tty));if (tcgetattr(fd, &tty) != 0) {perror("Error from tcgetattr: ");}// 配置波特率cfsetispeed(&tty, B115200);cfsetospeed(&tty, B115200);// 配置数据位、停止位和校验tty.c_cflag &= ~CSIZE;tty.c_cflag |= CS8;     // 8数据位tty.c_cflag &= ~CSTOPB; // 1停止位tty.c_cflag &= ~PARENB; // 无校验位/*设置等待时间和最小接收字符*/tty.c_cc[VTIME]  = 1;tty.c_cc[VMIN] = 1;tty.c_cflag |= CREAD | CLOCAL; // 开启接收,忽略modem控制线// tty.c_iflag = IGNPAR | ICRNL; // 忽略校验错误,输入时将回车转换为换行tty.c_oflag = ~(ONLCR | ICRNL); //tty.c_iflag &= ~(INLCR | ICRNL |IGNCR); //tty.c_oflag &= ~OPOST;/*处理未接收字符*/tcflush(fd,TCIFLUSH);// 设置串口配置tcsetattr(fd, TCSANOW, &tty);pthread_create(&thread, NULL, read_handler, NULL);while(1){memset(wbuff, 0 , sizeof(wbuff));printf("请输入发送数据:\n");scanf("%s", wbuff);//printf("wbuff:%s\n", wbuff);strncpy(wbuff + strlen(wbuff) - 2, "\r\n", 2);ret = write(fd, wbuff, strlen(wbuff)+2);if(ret == -1){perror("write");close(fd);return EXIT_FAILURE;}printf("Write success %d\n",ret);}pthread_join(thread, NULL);close(fd);return 0;
}

编译没报错:

        最后拷贝到开发板进行验证

开发板验证

        开发板接好线,PC上开启串口助手进行功能验证:

 

http://www.dtcms.com/wzjs/142060.html

相关文章:

  • 广州专业网站改版哪家好舆情监控系统
  • 网站的做用市场营销策划方案书
  • 内网穿透做网站能查到网站ip吗长沙靠谱的关键词优化
  • 那个网站教做仙芋鲜竞价推广代运营企业
  • 上海网站制作公司怎么找深圳市网络营销推广服务公司
  • 国外简约企业网站深圳网站seo优化
  • 网站的费用可以做无形资产吗网络营销是网上销售吗
  • 漳州网站建设到博大seo快速排名服务
  • 做网站包括哪些此网站服务器不在国内维护
  • 怎样做app网站建设公司建网站多少钱
  • 房地产开发公司注册条件南昌seo建站
  • 网站渗透案例游戏代理加盟平台
  • 东丰在线网站建设魔贝课凡seo课程好吗
  • 在线建站|网页制作|网站建设平台邀请推广app
  • 做网站买流量seo推广营销公司
  • 开发网站代码量1+x网店运营推广
  • 支付网站建设费用计入多层次网络营销合法吗
  • 凡科建站网站怎样做软件下载预防电信网络诈骗
  • 武汉网站建设兼职网络营销的四大要素
  • 刚刚上海突然宣布外贸seo软文发布平台
  • vs做网站出现显示bug网络培训心得体会
  • 360mobile智能手机网站建站系统seo网络推广报价
  • 西安网易网站建设站长工具排名查询
  • 怎样修改wordpress密码百度seo新算法
  • 网站开发服务费凭证做什么科目免费网站推广群发软件
  • 如何制作个人作品网页seo排名优化
  • 幼儿园网站模板怎么做网络安全培训机构排名
  • 使用织梦系统建设网站网站推广找
  • 上海建设交通委网站重庆网站推广软件
  • 全国网站建设公司实力排名网络营销软文范例500