- 主题:对用C做嵌入式开发(例如开发机器人?)挺感兴趣,求学习路径。
严格讲c也不能操纵底层硬件,只有汇编才能直接操纵。
c只是调了一些厂家开发好的接口库/驱动程序来操控底层,所以在这个方面其实与python是没有区别的。
想搞机器人得先定好目标,机器人种类很多,价格、控制难度也区别巨大。
【 在 cyberdyne 的大作中提到: 】
: python好像不能操纵底层硬件吧。我学了C,觉得可以找些python干不了但也挺好玩的事情做做。
--
FROM 120.235.170.*
“另外c不是号称结构化的汇编嘛?”————然而并不是。
建议先从纯嵌入式开始,起步先学8位单片机(c51)作为入门,然后过度到arm,再过渡到具体的项目(例如你感兴趣的机器人相关)。
c51单片和arm的书可以到网上下各种电子版的,个人比较推荐北航出版社的,他们出了n多这类书,质量都不错。
机器人又是另一回事了,大致可以分成地面移动的、空中飞的、机械臂、机械手等,各种的控制和实现方式以及价格成本相差巨大。其中地面移动机器人成本相对最低,但也要看具体的运动方式,轮式的最便宜,双足的多足的比较贵。现在通常最贵的是机械臂、机械手,工业用机械臂一般十万起步,机械手价格不明没见到有批量产品出现。
【 在 cyberdyne 的大作中提到: 】
: 求指引,想入个门。另外c不是号称结构化的汇编嘛?
--
FROM 120.236.177.*
买个turtle bot套件吧!现在已经出到第三代了,某宝搜搜turtle bot3,一整套下来大概4~5k。
https://www.turtlebot.com/
另外,如果真打算买turtle bot,建议先看看ROS。
https://www.ros.org/
http://wiki.ros.org/
【 在 cyberdyne 的大作中提到: 】
: 多谢!有没有通过树莓派操纵机器人的方法推荐推荐,门槛低一点,step by step那种。
--
修改:heyuanlie FROM 120.236.177.*
FROM 120.236.177.*
你是指混合汇编?
【 在 gaofto 的大作中提到: 】
: C的不调用厂家的库,也能操作底层硬件,利用指针寻址。
--
FROM 120.235.170.*
这样搞用c还有啥意义?跟调库比起来更麻烦,还容易出错。
另外,不确定经过编译器编译出来后能不能保证访问得到任意地址。
【 在 gaofto 的大作中提到: 】
: 此时地址为0x40000000的寄存器的值修改成了0xaa;
: 一般都是为加快开发,才去调用厂家的库的,毕竟这样就不用去查手册看寄存器定义了
--
FROM 120.235.21.*
厂家的迭代过很多次了而且还有无数客户的反馈不容易出错,自己写的不太可靠。除非是厂家提供的实在是没有所需功能,即使这样感觉还是用汇编写直接调用硬件的二进制库再用c从外部调比较安全,出错也容易查。
【 在 dormouseBHU 的大作中提到: 】
: 嵌入式系统的c开发不就这样嘛…
: 厂家提供的库也是c语言写的…
: :
--
FROM 120.235.189.*
巨牛你好!
【 在 l99 的大作中提到: 】
: 不会就低调
:
--
修改:heyuanlie FROM 120.235.189.*
FROM 120.235.189.*
你也说是“多数”了,不能百分百保证。
c直接操纵寄存器,编译成裸机程序也不能百分百确定指针所指向的地址不被改变,要是在有操作系统在底层跑的情况下编译出来的程序就更加没底了,除非能搞清楚所用编译器编译出来的汇编指令真的就是你需要的并且操作系统允许这样的访问。
当然,你可以通过试,试过行就行了,可能在你试过的程序和芯片中都行,所以就认为都没问题都行。
反正,个人认为这样做会带来稳定性、安全性和可维护性问题。
另外,用c指针直接操纵寄存器本质上也没有什么错,只要结果对了可能很多人也不会去追究其他了,各位爱用啥用啥。
【 在 dormouseBHU 的大作中提到: 】
: 感觉你没搞过嵌入式。读写几个寄存器的值哪用的到汇编。
: 嵌入式系统里的外设寄存器多数都是映射到内存地址空间的,能读内存就能读寄存器
: :
--
修改:heyuanlie FROM 120.235.189.*
FROM 120.235.189.*
这个分层次,不好归类。
例如,工业机器人产品一般都需要人对其末端运动轨迹进行“编程”,使末端能按预期轨迹进行各种运动,但这种“编程”只能用机器人厂家提供的脚本进行编写会受到很多限制,这种现在也算一种职业,一般出现在机器人的终端用户,技校毕业生也能干。
更普遍意义上的c/cpp之类的编程职业,主要集中在机器人产品生产研发企业和运动控制(器)生产研发企业中。
【 在 happyxjh 的大作中提到: 】
: 现在机器人编程有专门的职业吗
: 发自「今日水木 on iPhone 7」
--
修改:heyuanlie FROM 120.235.189.*
FROM 120.235.189.*
多少也是相对的,后面那种工资高很多替代性也差很多,但就是门槛比较高,得懂机器人运动学、自动控制、电机控制甚至计算机视觉之类的专业知识。
【 在 happyxjh 的大作中提到: 】
: 那后面这种的话 岗位应该不多了
: 发自「今日水木 on iPhone 7」
--
FROM 120.235.189.*