ZYNQ嵌入式Linux专题三——在应用层修改串口参数配置

芯片型号:zynq7020
VIVADO版本:2018.3

一、序言

一般来说,修改串口的配置,可以在petalinux制作系统的时候,就修改参数,或者也可以在设备树修改,但如果系统已经制作好了之后,在应用层直接修改,会更简单一点。

二、代码

 #define SERIAL_PORT "/dev/ttyPS1"
#include <termios.h>
#include <sys/types.h> 
#include <sys/stat.h> 
#include <fcntl.h> 
#include <stdio.h>
   //串口初始化
  int main()
  {
    int serial_fd;//定义一个串口open之后的参数
    struct termios serial_settings;
	//定义termios结构体变量
    serial_fd = open(SERIAL_PORT, O_RDWR | O_NOCTTY);
    //打开串口
    if (serial_fd < 0)
    {
        perror("Error opening serial port!!!");
        return 1;
    }
    tcgetattr(serial_fd, &serial_settings);
    //用于获取终端的参数,也就是说你也可以修改别的终端。
    //cflag表示控制模式标志,指定终端硬件控制信息。
    serial_settings.c_cflag &= ~CSIZE;  // 屏蔽字符大小位
    serial_settings.c_cflag |= CS8;     //使用8位数据位
    serial_settings.c_cflag &= ~PARENB; //无奇偶校验
    serial_settings.c_cflag &= ~CSTOPB; //1位停止位
    serial_settings.c_lflag &= ~ECHO;   //屏蔽回显
    //设置波特率
    cfsetispeed(&serial_settings, B9600);
    //cfgetispeed()表示获取波特率
    cfsetospeed(&serial_settings, B9600);
    tcsetattr(serial_fd, TCSANOW, &serial_settings);
    //TCSANOW:不等数据传输完毕就立即改变属性。
 }

三、附上详细tcgetattr详解链接

c++实现串口功能之termios.h头文件研读<一>
https://blog.csdn.net/lepaitianshi/article/details/126429574?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171686452816800197095408%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=171686452816800197095408&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-14-126429574-null-null.142v100pc_search_result_base1&utm_term=termios&spm=1018.2226.3001.4187

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Zynq嵌入式Linux的毕业设计可以有很多选择。引用中提到了DFx的概念,即可制造性、可供应性、可测试性等方面的积累,这对于硬件工程师成长为一个系统工程师是有帮助的。因此,你可以考虑设计一个基于Zynq芯片的嵌入式系统,对DFx进行深入研究和应用。 同时,引用提到,嵌入式工程师可以成为软硬结合的工程师,并且可以扩展到结构设计、ID设计、网站设计、射频等领域,这意味着你可以进一步将你的嵌入式设计与其他领域进行结合,打造一个更综合性的毕业设计项目。 另外,引用中提到了简单硬件和复杂硬件的区别。如果你想挑战更复杂的设计,可以考虑设计一个具有较高功耗和复杂电路结构的嵌入式系统,以提高你在电路设计和问题解决方面的能力。 总之,基于Zynq嵌入式Linux的毕业设计可以根据你的兴趣和目标选择不同的方向,包括DFx的应用、软硬结合的设计、复杂硬件的驾驭等。通过选择一个合适的方向,你可以在毕业设计中展示你的技术能力和创新思维。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [嵌入式工程师是青春饭吗?越老越吃香吗?](https://blog.csdn.net/best_xiaolong/article/details/108543889)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值