amoBBS 阿莫电子论坛

 找回密码
 注册
搜索
bottom↓
楼主: machao

尝试重出江湖

  [复制链接]
发表于 2019-8-21 17:40:25 | 显示全部楼层
都15年了
发表于 2019-8-21 19:33:24 来自手机 | 显示全部楼层
machao 发表于 2019-8-21 14:32
第一章初步定稿,转换成PDF格式(置于1楼位置),请大家提出建议和意见
本书面向的对象不是MCU的初学者,而 ...


马老师的书会讲到ARM的处理器吗?
发表于 2019-8-21 20:38:15 | 显示全部楼层
翻了下PDF,STC要感谢马老师才行,免费做广告了哈哈。
如果以51单片机为主 感觉会丧失很大部分读者,搞了STM32的人都不愿倒回去看与51有关的东西。现在跟的那些工程师说51 都会被鄙视,他们要大容量 速度快, 随便几个任务就加操作系统,有个显示屏就加EMWIN,M3 不够还要M4 M7,1M flash,还要外扩SRAM。我说以前用51 资源怎么都用不完、现在用M3完全足够了,他们就说那样太落后了、写程序太难受了。
发表于 2019-8-21 20:56:44 | 显示全部楼层
欢迎马老师,久闻大名!期待
 楼主| 发表于 2019-8-21 21:13:33 | 显示全部楼层
本帖最后由 machao 于 2019-8-21 21:20 编辑
tianxian 发表于 2019-8-21 20:38
翻了下PDF,STC要感谢马老师才行,免费做广告了哈哈。
如果以51单片机为主 感觉会丧失很大部分读者,搞了ST ...


那种产品绝不是工匠级的,勉强能使用。高、精、尖的产品绝对设计不出的。大部分使用STM32的,如果让他设计一个频率计,你问他的测量精度是多少。恐怕没有几个能回答的出。
本书的设计理念是全新的,对于目前市场上的新型MCU,不管8位,还是16位,还是32位都适用,反而不太适合使用传统的MCS-51。书里准备的例子采用传统的51是不能实现的,采用STM32,如果理念不对,也设计不出来的。
比如简单一点,用一mcu产生高精度1M方波,用at89c51是做不出的。许多人用STM32,产生的方波,自己都不知道精度如何。

本书的书名:工匠级.....,所以本书不是给大多人看的,是给想成为工匠级的工程师参考的。在校学生也请离得远点。
发表于 2019-8-21 21:45:31 | 显示全部楼层
欢迎马老师,出版必买啊
 楼主| 发表于 2019-8-22 20:22:16 | 显示全部楼层
楼主位新增加第二章的电子稿。希望各位朋友看后多提宝贵意见和建议,谢谢!
发表于 2019-8-22 20:53:27 来自手机 | 显示全部楼层
欢迎马老师回归论坛.
发表于 2019-8-25 11:04:17 | 显示全部楼层
欢迎马老师回归论坛.
发表于 2019-8-25 11:26:39 来自手机 | 显示全部楼层
顶一下马老师,重出江湖
发表于 2019-8-25 21:01:50 | 显示全部楼层
顶一下马老师!
发表于 2019-8-25 21:16:01 | 显示全部楼层
马老师,大工匠!
发表于 2019-8-25 21:26:46 | 显示全部楼层
热烈欢迎马老师归来!
发表于 2019-8-25 21:37:48 | 显示全部楼层
详细分享!
发表于 2019-8-26 16:42:21 | 显示全部楼层
久仰大名,希望马老师继续发挥余热,帮助提升嵌入式行业整体水平。
发表于 2019-8-26 17:31:07 | 显示全部楼层
期待力作,出版了赶紧买本压压惊,只读了前两章,以前很多不确定,模糊的地方有种醍醐灌顶的感觉,马老师加油
 楼主| 发表于 2019-8-26 23:03:41 | 显示全部楼层
jackjiao 发表于 2019-8-26 17:31
期待力作,出版了赶紧买本压压惊,只读了前两章,以前很多不确定,模糊的地方有种醍醐灌顶的感觉,马老师加 ...

谢谢鼓励和支持。希望不是恭维的称赞,而是真的对你有些帮助。有不清楚的可以贴上讨论,请多提建议和意见。
发表于 2019-8-27 07:25:34 | 显示全部楼层
顶一下。顶二下。顶三下………………。 顶 N 下。
发表于 2019-8-27 08:02:38 | 显示全部楼层
欢迎马老师回归
发表于 2019-8-27 09:17:18 | 显示全部楼层
machao 发表于 2019-8-26 23:03
谢谢鼓励和支持。希望不是恭维的称赞,而是真的对你有些帮助。有不清楚的可以贴上讨论,请多提建议和意见 ...

绝对不是恭维,我是软件工程专业出身,好多嵌入式基础知识都是自学看书,理解不深。很多疑难问题都是靠网上零零散散的网友分享慢慢参透,很少有大师总结经验系统讲述,期待更多分享
发表于 2019-8-27 13:38:10 | 显示全部楼层
                 mark
发表于 2019-8-29 10:49:30 | 显示全部楼层
完整阅读了第一章,受益匪浅,的确对于中断相关的细节之前关注的少,多谢老师!

有几处可能是笔误,摘了出来:
1.第5页,第6行
  “那么JMP指令的操作就是把本指令中包含的跳转目标指令地址写入程序计数器PC中”,最后一个"的",是不是应该改为"到"?

2.第25页,有文字部分起第5行
  “在具体条指令前”,“那”是不是应该改为“哪”?

发表于 2019-8-29 13:41:55 | 显示全部楼层
欢迎回归,好好跟马老师学点有用的知识。
 楼主| 发表于 2019-8-29 18:38:51 | 显示全部楼层
dadian 发表于 2019-8-29 10:49
完整阅读了第一章,受益匪浅,的确对于中断相关的细节之前关注的少,多谢老师!

有几处可能是笔误,摘了出 ...

非常感谢!已经将您提出的笔误做了修改。请继续提出宝贵意见。
发表于 2019-8-29 20:01:35 来自手机 | 显示全部楼层
欢迎欢迎
发表于 2019-8-29 21:18:15 | 显示全部楼层
支持马老师  大学看了马老师写的一本AVR单片机入门的书  受益匪浅
发表于 2019-8-30 14:30:24 | 显示全部楼层
学习学习,关注此贴
发表于 2019-8-30 15:22:41 来自手机 | 显示全部楼层
支持
发表于 2019-8-30 23:18:54 | 显示全部楼层
马老师弄的很不错
发表于 2019-9-1 10:28:19 | 显示全部楼层
向马老学习,向马老致敬!
发表于 2019-9-1 12:20:07 | 显示全部楼层
本帖最后由 xlee 于 2019-9-1 12:22 编辑

向马老师请教一个问题:

串口中断中向环形队列压入数据queue_putc(val),主循环中取出数据queue_getc(),在这里是否存在临界区竞争呢?我是否需要在queue_putc和queue_getc里面关闭中断保证原子性呢?
发表于 2019-9-1 13:19:09 | 显示全部楼层
虽然已经转行多年,阿莫的论坛还是经常上来看看。
马老师如果出来的话,一定买一本收藏。
发表于 2019-9-1 14:30:03 | 显示全部楼层
有提纲不?
发表于 2019-9-1 15:00:36 | 显示全部楼层
欢迎老师回归!
发表于 2019-9-1 21:44:50 | 显示全部楼层
感谢马老师!
发表于 2019-9-2 10:23:28 来自手机 | 显示全部楼层
欢迎老师回归!
发表于 2019-9-2 15:20:11 | 显示全部楼层
欢迎马老师回归
发表于 2019-9-7 19:06:20 | 显示全部楼层
一同回归amobbs:)
发表于 2019-9-9 09:13:46 | 显示全部楼层

纪念版

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2019-9-9 09:43:33 | 显示全部楼层
顶一下马老师!
发表于 2019-9-9 10:53:24 | 显示全部楼层
排队 前来膜拜
发表于 2019-9-9 11:08:14 | 显示全部楼层
从马老师AVR书中学习入门的
发表于 2019-9-10 13:08:54 | 显示全部楼层
10道题不简单哦 都是特种兵训练题 当年我还做过第一题和第三题 期待马老师的新书 这本书应该能提高中国整体单片机的工程师的水平!
发表于 2019-9-28 11:53:39 | 显示全部楼层
热烈欢迎马老师回归!
 楼主| 发表于 2019-10-27 10:07:43 | 显示全部楼层
本帖最后由 machao 于 2019-10-27 10:11 编辑
xlee 发表于 2019-9-1 12:20
向马老师请教一个问题:

串口中断中向环形队列压入数据queue_putc(val),主循环中取出数据queue_getc(), ...


是的。
环形队列是《数据结构》中介绍的一种常用的线性链表结构,它最基本的需要四个部件组成:一个常数为环形队列的长度(N);一个长度为环形队列长度的一维数组,用于存放数据;两个指针:写指针(W_ptr)和读指针(R_ptr);以及一个计数变量(n),用于记录队列中已经存入的数据个数。

向环形队列压入数据queue_putc(val)的操作需要的操作步骤:注意这个函数通常是在串口中断中被调用的!
  1/ 判断当前n是否小于N
      小于时:2/ 在当前W_ptr指向的队列中写入数据;
                   3/ 调整计数变量,n++;
                   4/  调整写指针,W_ptr++;if (W_ptr >= N) W_ptr = 0;
      不小于时:设置队列接收溢出或错误标志。

从环形队列取出数据queue_getc(val)的操作需要的操作步骤:
        当n>0时:
        1/ 从当前R_ptr指向的队列中读出数据;
        2/ 调整计数变量,n--;
        3/ 调整读指针,R_ptr++;if (R_ptr >= N) R_ptr = 0;
=========================================================
两个操作过程中都需要对计数变量n进行改变,所以,如果在主循环中调用queue_getc(val),需要考虑变量n的原子操作问题。
变量n的原子操作仅需要在读取函数中考虑,为了更有效的保证中断的及时响应,正确的queue_getc(val)的函数应该如下操作:

从环形队列取出数据queue_getc(val)的操作需要的操作步骤:
        当n>0时:
        1/ 禁止调用queue_putc(val)的中断; 调整计数变量,n--;  允许调用queue_putc(val)的中断;
        2/ 从当前R_ptr指向的队列中读出数据;
        3/ 调整读指针,R_ptr++;if (R_ptr >= N) R_ptr = 0;

发表于 2019-10-27 12:32:54 来自手机 | 显示全部楼层
热烈欢迎马老师
发表于 2019-10-27 15:31:36 | 显示全部楼层
马老师好,一个真正厉害的老师~
发表于 2019-10-30 10:31:22 | 显示全部楼层
machao 发表于 2019-10-27 10:07
是的。
环形队列是《数据结构》中介绍的一种常用的线性链表结构,它最基本的需要四个部件组成:一个常数 ...

谢谢指导!

如果我忽略溢出(比如讲队列设置得比较大,系统基本上能及时处理队列中排队的数据),数据结构中没有n,只有队首和队尾指针,中断中入队,应用中出队
在这样的特殊条件下,似乎就没有临界区冲突了。
发表于 2019-11-18 10:35:11 | 显示全部楼层
久仰大名。
发表于 2019-11-18 11:14:08 | 显示全部楼层
欢迎马老师归来
发表于 2019-11-18 19:03:19 来自手机 | 显示全部楼层
本帖最后由 18501501628 于 2019-11-18 19:08 编辑

随着硬件的更新,单片机的性能也越来越强大,所以这时候高级语言的优势体现出来了,比如环形队列缓冲,用c需要得已自己造轮子,得自己写个队列,考虑中断,重入,临界,一顿操作猛如虎,调试结果250。如果用qt的话没有这种问题,各种容器强大的一塌糊涂,临界保护现成的类直接使用,哈哈,单片机还在造轮子的时候,别人都已经好几个项目完成了。未来的编程绝对会越来越偏向高级语言,就好比当初51刚出来的时候,搞汇编的好牛逼,到这几年c语言在单片机实现一个较复杂的网络功能(查询当地天气),可能python一句代码搞定收工了。没办法,技术发展太快,不学习新技术,感觉很快被时代抛弃。
发表于 2019-11-18 19:21:11 | 显示全部楼层
久仰大名,学习学习了~
发表于 2019-11-21 17:12:31 | 显示全部楼层
马老师重出江湖,一统江山,仙福同享,寿与天齐!
发表于 2019-12-3 20:26:13 | 显示全部楼层
马老师好!欢迎马老师!
发表于 2019-12-3 20:41:22 | 显示全部楼层
18501501628 发表于 2019-11-18 19:03
随着硬件的更新,单片机的性能也越来越强大,所以这时候高级语言的优势体现出来了,比如环形队列缓冲,用c ...

成本摆在那里。。。不是什么场景都可以用牛逼的单片机。
发表于 2019-12-3 21:03:43 | 显示全部楼层
马老师的读者欢迎马老师归来
发表于 2019-12-20 18:03:26 | 显示全部楼层
顶马老师,好久不见
发表于 2019-12-20 18:19:18 | 显示全部楼层
mark 一下 工匠级MCU嵌入式系统设计与应用修炼宝典
发表于 2019-12-21 00:49:56 来自手机 | 显示全部楼层
欢迎马老师,久闻大名!
发表于 2019-12-21 10:45:08 | 显示全部楼层
欢迎归来!
发表于 2019-12-21 12:00:06 | 显示全部楼层
虽然早期不曾与马老师AVR项目有交集,还是钦佩老专家的奉献精神!
发表于 2019-12-22 14:09:14 来自手机 | 显示全部楼层
失敬失敬,祝福前辈。
发表于 2020-1-2 21:37:37 | 显示全部楼层
欢迎马老师重出江湖!
发表于 2020-1-2 23:10:29 | 显示全部楼层
顶一下马老师!
发表于 2020-1-3 08:45:33 | 显示全部楼层
支持马老师,老骥伏枥,壮心未已。
发表于 2020-1-3 08:52:21 | 显示全部楼层
这几本书光看标题,就想下载看一看
发表于 2020-1-19 10:00:33 | 显示全部楼层
欢迎马老师   
友情提示:标题不合格、重复发帖,将会被封锁ID。详情请参考:论坛通告:封锁ID、获得注册邀请码、恢复被封ID、投诉必读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|阿莫电子论坛(原ourAVR/ourDEV) ( 公安备案:44190002001997(交互式论坛) 工信部备案:粤ICP备09047143号 )

GMT+8, 2020-2-24 10:06

阿莫电子论坛, 原"中国电子开发网"

© 2004-2018 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表