[经验] 【NanoPi NEO试用体验】【结项】Nanopi 与 51单片机的通讯

[复制链接]

技术员

发表于 2016-12-21 12:58:05   634 查看 2 回复 显示全部楼层 倒序浏览
分享
本帖最后由 quartz010 于 2016-12-21 13:12 编辑

0.序
最近太忙,时间太紧,终于难得一空闲,赶紧来这里
****************************************
我现在极为蛋疼的写着第二遍........刚刚竟然因为一个github的链接
把我的帖子搞没了......
****************************************

1.51单片机的core code

这里是串口初始化程序 9600的波特率
  1. void uart_init(void)                //115200bps@11.0592MHz
  2. {
  3.         SCON=0x50;//设定串口工作方式0101 0000
  4.         PCON=0x00;
  5.         TMOD=0x20;
  6.         EA=1;
  7.         ES=1;
  8.         TL1=0xfd;
  9.         TH1=0xfd;
  10.         TR1=1;
  11. }
复制代码

这个是串口的中断程序用于对P1的控制
  1. void UART() interrupt 4
  2. {
  3.         if(RI)        //检测是否接收完成
  4.         {         
  5.                 num = SBUF;          //num 取出接收缓存器的值
  6.                 P0 = num;
  7.                
  8.                                 
  9.                 RI = 0;
  10.         }
  11. }
复制代码

2.Nano pi的core 代码
纯手撸的代码(再也不放连接了....心累)
  1. int send_byte_com(int sfd, char data_byte)
  2. {
  3.         char write_buf_cmd[1];
  4.         write_buf_cmd[0] = data_byte;

  5.         write(sfd, write_buf_cmd, sizeof(write_buf_cmd));

  6. }

  7. int read_byte_com(int sfd)
  8. {
  9.         char read_buf_cmd[1];
  10.         char data_byte;

  11.         read(sfd, read_buf_cmd, sizeof(read_buf_cmd));
  12.         data_byte = read_buf_cmd[0];

  13.         return data_byte;
  14. }
复制代码
上述代码适用于对串口的字节命令的的发送
以字节的形式发送
但是的确过于愚蠢....
  1. int set_com_config(int sfd, struct termios *config)
  2. {

  3.         cfmakeraw(config);

  4.         config->c_cflag &= ~CSIZE;

  5. #if 1 == STOP_BITS
  6.         config->c_cflag &= ~CSTOPB;
  7. #elif 2 == STOP_BITS
  8.         config->c_cflag |= CSTOPB;
  9. #endif

  10. #if N == PARITY
  11.         config->c_cflag &= ~PARENB;
  12.         config->c_cflag &= ~INPCK;
  13. #endif

  14.         config->c_cflag |= DATA_BITS;        //
  15.         cfsetispeed(config, SPEED);                //
  16.         cfsetospeed(config, SPEED);

  17.         config->c_cc[VTIME] = 0;
  18.         config->c_cc[VMIN] = 1;

  19.         tcflush(sfd ,TCIFLUSH);                        //flush the buffer

  20.         if ((tcsetattr(sfd, TCSANOW, config) != 0)) {
  21.                 perror("sfd set:");
  22.                 exit (-1);
  23.         }

  24. }
复制代码

这里是用来配置串口的程序,对应的宏可以有不同 的配置,像是数据位停止位等等

3. 大体的装置
$MMC}G7EF3ZM%9`MV6ZR]AG.jpg
将其级联
nano 的ttys1 与单片机的P3.0 P3.1连接
51收到NanoPI的字节命令后,可对LED有不同的控制变化
(测试功能)

4.更高一步
上述的东西只是完成了底层的基本功能
基于图形化的近乎是必不可少的
所以选择了Qt
源于其良好的跨平台特性
QQ截图20161221124517.jpg
放图
推荐书籍
Qt 从入门到放弃

5.最后的话
首先,感谢电子发烧友论坛给予的这次的使用机会真的十分感谢
学生党,有这样一个宝贵的机会十分难得,通过这次试用我也学到了很多,
自身能力也有渐渐提高
学习linux串口,qt等等的,这个过程是我的里程碑

路漫漫兮其修远
一步一步向前走!
最后感谢发烧友论坛、感谢友善之臂给的试用机会。




QQ截图20161028165201.jpg
QQ截图20161028164945.jpg
QQ截图20161028162610.jpg
QQ截图20161028160558.jpg
标签:单片机
发表于 2016-12-21 13:48:15  
华强PCB打样
楼主可以看看上传图片方式:http://bbs.elecfans.com/jishu_429732_1_1.html
回复

点赞

高级工程师

发表于 2017-2-5 14:29:03  
感谢楼主无私分享。。。。。
回复

高级模式
您需要登录后才可以回帖 登录 | 注册

专家问答 查看更多>>

小黑屋|手机版|Archiver| 电子发烧友 ( 粤ICP备14022951号-2 )     

GMT+8, 2017-5-1 00:58 , Processed in 0.137889 second(s), 16 queries , Memcache On.

微信扫描
快速回复 返回顶部 返回列表
-

推荐专区

技术干货集中营

专家问答

用户帮助┃咨询与建议┃版主议事

我的提问

工程师杂谈

工程师创意

工程师职场

论坛电子赛事

社区活动专版

发烧友活动

-

嵌入式论坛

单片机/MCU论坛

FPGA|CPLD|ASIC论坛

DSP论坛

嵌入式系统论坛

-

电源技术论坛

电源技术论坛

-

硬件设计论坛

电路设计论坛

电子元器件论坛

控制|传感

总线技术|接口技术

-

测试测量论坛

LabVIEW论坛

Matlab论坛

测试测量技术专区

仪器仪表技术专区

-

EDA设计论坛

multisim论坛

PCB设计论坛

proteus论坛|仿真论坛

EasyEDA-中国人自已的EDA工具

-

综合技术与应用

电机控制

智能电网

光电及显示

参考设计中心

汽车电子技术论坛

医疗电子论坛

-

开源硬件

树莓派论坛

智能硬件论坛

开发快智能硬件开发平台

Intel物联网开发者专区

Waveshare

乐美客SBC专区

Arduino论坛

BeagleBone论坛

机器人论坛

创客神器NanoPi

小钢炮CANNON

比派科技banana pi专区

-

无线通信论坛

无线通信技术专区

天线|RF射频|微波|雷达技术

-

IC设计论坛

芯片测试与失效分析

Mixed Signal/SOC[数模混合芯片设计]

Analog/RF IC设计

设计与制造封装测试

-

个人版区

阿东Verilog技术专版

直流马达驱动电路设计

LabVIEW英雄联盟

特权同学FPGA专区

-

厂商专区

灵动微电子 MM32

盈鹏飞嵌入式

TI论坛

TI Deyisupport社区

芯灵思嵌入式论坛

Tisan

米尔科技

庆科社区

WIZnet技术专区

Cypress技术论坛

飞凌嵌入式

Qualcomm技术论坛

英创嵌入式

机智云GoKit论坛

-

检测技术与质量

电磁兼容(EMC)设计与整改

安规知识论坛

检测与认证

-

消费电子论坛

手机技术论坛

平板电脑/mid论坛

音视/视频/机顶盒论坛

-

电子论坛综合区

聚丰众筹官方社区

新人报道区

聚丰供应链

-

论坛服务区

-

供求信息发布

供需广告

招聘┃求职发布区

电子展览展会专区