打印

提个单片机魔法师书上的问题

[复制链接]
1907|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
eyuge2|  楼主 | 2016-12-22 16:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 eyuge2 于 2016-12-22 17:16 编辑

余老师好,最近有空又将你的书拿出来读,有问题想请教一下
1.第3章,没有找到 _testbit_这个函数的定义。能否提供一下?
2.定时器的例子中,为什么不把counter的重置放在定时中断中,而是放在主循环里面。这样做有什么好处?
3.第99页
unsigned SoftTimer0Counter=0;
这是一个什么数据类型,int 还是 char。从赋值可能应该是unsigned int,可以这样缩写,还是排版错误?后面8个定时器也是这样写的。???
4.109页
但是这样一来,在软件定时器计数器类型长度时,我们就损失了时基定时器中断程序的运行速度而换来了程序设计上的很大便利。

这句话,有些读不通,是什么意思。
另外,去掉bit开关标志是好事啊,中断处理程序更简洁了,也没有损失运行速度啊。能否解释一下!

多谢!










相关帖子

沙发
eyuge2|  楼主 | 2016-12-23 09:29 | 只看该作者
都清楚了。

余工很不错,不管问题是简单复杂都认真回复了。

开始还担心你会生气呢。

谢谢!

使用特权

评论回复
板凳
damifan| | 2017-3-7 14:32 | 只看该作者
yyy71cj 发表于 2016-12-22 20:39
1、在intrins.h里
2、重置可以根据具体需要来定,如果是自动重载的,就在定时器里,如果不是,得由他方对之 ...

是谁说stm32没有bit寻址?!大神你的尾巴漏出来啦

使用特权

评论回复
地板
damifan| | 2017-3-7 15:32 | 只看该作者
yyy71cj 发表于 2017-3-7 15:15
我是不是把这话说笼统了?通常,一般的CPU都会有位寻址能力的,但是如果没有被开放使用,那就 ...

  

使用特权

评论回复
5
damifan| | 2017-3-7 15:54 | 只看该作者
yyy71cj 发表于 2017-3-7 15:40
迅速表现一下,大神之名在向你招手呢……

那我一表现,你的位子就保不住啦,我还是低调

使用特权

评论回复
6
damifan| | 2017-3-7 16:25 | 只看该作者
yyy71cj 发表于 2017-3-7 16:08
你和我辩那么久,也没见你担心过我位置不保,你现在担心个啥?
赶紧表现,大神的交椅多着呢… ...

好吧,那今天我就给你露一手,就从你的stm32没有位寻址开始,
#define GPIOA_ODR_Addr (GPIOA_BASE+0X0C)
#define BITBAND(addr,bitnum) ((addr&0xF0000000)+0x2000000+((addr&0xFFFFF)<<5)+(bitnum<<2))
#define MEM_ADDR(addr) (*((volatile unsigned long *)(addr)))   
#define BIT_ADDR(addr, bitnum) MEM_ADDR(BITBAND(addr, bitnum))
// 如果你要用PA1
#define PA1 BIT_ADDR(GPIOA_ODR_Addr,1)

这样在程序你可以直接
PA1=1;
PA1=0;
PA1=!PA1;

使用特权

评论回复
7
damifan| | 2017-3-7 17:14 | 只看该作者
yyy71cj 发表于 2017-3-7 17:12
我得表扬你一下,能进行位带映射!

小余呀,我要批评你,学习要认真呀  

使用特权

评论回复
8
damifan| | 2017-3-8 09:25 | 只看该作者

以后跟我混,有肉吃

使用特权

评论回复
9
damifan| | 2017-3-8 13:39 | 只看该作者
yyy71cj 发表于 2017-3-8 13:10
不诚实,明明是有饭吃,怎么成了肉?

这充分说明你头大无脑,,并且喜欢曲解原文,我说的是有肉,你来个有饭,不愧是钱太爷的儿子

使用特权

评论回复
10
damifan| | 2017-3-8 15:26 | 只看该作者
yyy71cj 发表于 2017-3-8 15:11
跟老饭混,有肉吃,这算是你的逻辑吗?“头大无脑”这样的词怎么也被你用上了呢?你的语文只 ...

按照你的逻辑,你师傅叫史进,你跟师傅学就要吃屎呀,,这年头写书的不看书,满嘴跑**,语文是体育老师教的顶多自己吃亏,计算机是卖狗肉的教的在写成书骗其他人那就是你不对啦,整一本书,书名到不错,魔法师,戏法而已,明知道是假的,看个热闹吧

使用特权

评论回复
11
damifan| | 2017-3-8 16:08 | 只看该作者
yyy71cj 发表于 2017-3-8 15:55
技术行不行,都不是重要的,但是人品若有问题就重要了。人品有问题的,就先去修修德行吧!我一般不对人说 ...

一般狐狸现形后也是气急败坏的,并且自己人品差的人喜欢说别人,呵呵,,你卖书骗人家的钱心安理得的拿着?心不虚?

使用特权

评论回复
12
yuanquan12345| | 2017-3-8 19:38 | 只看该作者
魔法师的编程思想可以。

使用特权

评论回复
13
damifan| | 2017-3-8 22:58 | 只看该作者
yuanquan12345 发表于 2017-3-8 19:38
魔法师的编程思想可以。

你可以仔细看看大神的帖子,他的书你不看就知道是个啥

使用特权

评论回复
14
eyuge2|  楼主 | 2017-3-9 09:19 | 只看该作者
本帖最后由 eyuge2 于 2017-3-9 09:24 编辑

to damifan

书怎么样,每个人都有自己的看法,不同水平的读者对同一本书有不同的认知,这很正常。

但是说“卖书骗人家”有些过。
书没有版权问题,就把它当做一种个人思想的表达,听与不听,买与不买,更多的在与你自己。

使用特权

评论回复
15
damifan| | 2017-3-9 10:38 | 只看该作者
不好意思,我不同意你的观点,要是他写个变戏法的书或者言情小说卖卖,那是无所谓,
但这是明摆着是个技术类的书,可不是你想说啥就随便说的,技术类的书,写的不对就是骗人,
所以很多人写这种书比较慎重,他们往往是抄其他的,比如原来写单片机的书,90%以上是抄北航的,
想把技术说的简单化,让大家能接受是好事,但也要有那个水平,满嘴跑火车不行,满嘴跑**更不行

使用特权

评论回复
16
eyuge2|  楼主 | 2017-3-9 17:05 | 只看该作者
哈哈,我认为余工这本书应该是属于编程技巧类的书,处于裸编程与嵌入式系统的中间位置,目前这种类型的书国内基本上是空白。(受个人阅读量的限制,可能有但是我没有发现。)这样的书也比较难写。

你眼界比较高,那请你推荐几款同类型的,写的比较好的书。国内国外的都可以。

使用特权

评论回复
17
damifan| | 2017-3-9 20:58 | 只看该作者
eyuge2 发表于 2017-3-9 17:05
哈哈,我认为余工这本书应该是属于编程技巧类的书,处于裸编程与嵌入式系统的中间位置,目前这种类型的书国 ...

你要是想从编程思想跟技巧上学的话,可以看看《编程高手箴言》,看后对比对比

使用特权

评论回复
18
eyuge2|  楼主 | 2017-3-10 09:08 | 只看该作者
看了一下《编程高手箴言》的目录,没有可比性,一个针对windows的,一个是针对8位单片机的。

可能我没有讲清楚,我希望的找一本与《魔法师》同一类型,写得比较好的书。

《魔法师》中的技巧不是C语言的技巧,而是编程思想的技巧,类似于设计模式。我讲不好,你懂的。

使用特权

评论回复
19
damifan| | 2017-3-10 13:43 | 只看该作者
eyuge2 发表于 2017-3-10 09:08
看了一下《编程高手箴言》的目录,没有可比性,一个针对windows的,一个是针对8位单片机的。

可能我没有讲 ...

我知道你的意思,在编程思想跟方法上,windows跟单片机区别不大,类似于武侠小说里的高手不管手中什么武器,一出手就赢在强大的实力,《编程高手箴言》的做者是有实际做品的,“豪杰解霸”不知道你听过没的,那个书是windows下的代码,也有汇编,但更多的是编程思想,所谓的windows只是用来举例子的工具,在这个层面,你可以体会体会做者的思想,
yyy71cj很多说法是错的,但那说法对于初学者不一定容易验证,这就是我让你体会的地方,我可以肯定的告诉你,对于他的有的说法他自己也许也没有验证过,对于一个问题怎么看,怎么分析,
你只看啦那个书的目录,我建议你看看前言跟第一章,也不用很多时间,另外那本书也是我勉强推荐给你的,真的要学习怎么编程,其实就是看基础的书,看官方文档,无论谁,无论什么方法,这个绕不开,根据我的体会,学习没有捷径,什么几天速成,从入门到精通,什么由浅入深啥的,全是参考,甚至你能忽略,我开始学arm的时候,看的就是杜春雷的那本书,那本书大家知道是翻译的arm的官方文档,但就是看个中文,你要英文水平好,可以直接看原文,《C++特别版》我也看过,那本书的做者就是Bjarne Stroustrup,
但那本书的翻译很不咋样,把inline 函数翻译成在线函数,实际我们知道,翻译成内连更确切,我说这么多的意思是,只有你有一定能力才能有对比跟区分,这样对初学者,所谓方法类的书就很重要,我也是从菜鸟来的,现在也没有脱菜,但什么书好,什么书有用我还hi知道的,毕竟走的弯路多啦,希望我的话对你有帮助

使用特权

评论回复
20
damifan| | 2017-3-10 14:57 | 只看该作者
所以说很多事要体会,要对比,大家可以看看yyy71cj的帖子,
从技术方面,你们自己体会,
从人品方面,更可以对比

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

105

主题

1366

帖子

9

粉丝