OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6027|回复: 28

借原子老大宝地:发一个STM32开源有偿编程、需求书。(固定标底108元)

[复制链接]

87

主题

569

帖子

0

精华

高级会员

Rank: 4

积分
831
金钱
831
注册时间
2014-9-30
在线时间
140 小时
发表于 2015-2-13 19:20:35 | 显示全部楼层 |阅读模式
5金钱
借原子老大宝地:发一个STM32开源有偿编程、需求书。(固定标底108元)
希望:对此有兴趣的 熟手截标,【淘宝】支付报酬。 (固定标底108元)

编程环境必须是 IAR 6.5 。完成后 提供整个 工程文件包和源程序
要求如下:最好使用 我这里 提供的【空白工程包】、作为起头。

CPU类型:STM32 C8T6 到 RCT6 都可以
输入、输出 绝对避免使用 PA5和PA4。建议使用 PA1 和 PA2。
使用 中断方式,绝对避免:主程序链内 的 循环延迟。
CPU资源的使用,尽量单一化。以后还会组合其它的程序模块。

具体内容:
将输入脉冲【以上升沿计】做适当延迟之后输出,(输出脉冲宽度
固定为100us左右)(不规定死、以计数器参数整数化为宜),
脉冲时间 间隔为 T  (us)  ,延迟时间为 td (us) 。。。

在未收到“第二个脉冲”的情况下【无输出】若第二个脉冲到来时间
太迟(注意你的计数器溢出否?)超过350 000 us ,也(掐断)【无输出】。

简单图解:



详细算法:

关于 T 和 td 算法,详细叙述如下:(全部都整数运算)

             T <= 15000 us  那么 td = 0

  15000 < T <= 20000 us  那么 td = (T-15000)/25

  20000 < T <= 30000 us  那么 td = (T-20000)/33.333 + 200 附注[33.333*1024=34133最好]

  30000 < T <= 40000 us  那么 td = (T-30000)/20 + 500

  40000 < T <= 60000 us  那么 td = (T-40000)/20 + 1000

  60000 < T <= 75000 us  那么 td = (T-60000)/7.5+ 2000     附注[7.5*2=15最好]

  75000 < T <=120000 us  那么 td = (T-75000)/9  + 4000

 120000 < T <=200000 us  那么 td = (T-120000)/16+ 9000

 200000 < T        那么 td = 15000 us

算法中注意:33.333和7.5 的处理方式:
 (T-20000)/33.333  等效于  (T-20000)*1024 /34133 误差更小些。(只整数运算)
 (T-60000)/7.5       等效于  (T-60000)*2 /15   ——这样来处理 小数问题——
除法运算的结果、自动取整数 与后面的 “基数”相加 输出 td 给计数器。

。。。
截标人:需要 报出 预期的完成时间,完成早的,和截标早的 做最后协商。
。。。
附件 : IAR 6.5 ,我习惯的 :空白 工程 包。
【淘宝】付款 链接,等 截标完毕 再提交。。。

V35_IAR6_5需改StartUP.rar

708.34 KB, 下载次数: 428

最佳答案

查看完整内容[请看2#楼]

回复【16楼】24841500: --------------------------------- 真正有用的 就 只有这 几行。。。其它的 都是 【库】。。。 ———— 3月5日 学雷锋,之后 今天:已经 彻底 完毕————看图: ————用  硬件逻辑分析仪 调试单片机确实 很方便、高效。。。完工了108元 自己的。。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

87

主题

569

帖子

0

精华

高级会员

Rank: 4

积分
831
金钱
831
注册时间
2014-9-30
在线时间
140 小时
 楼主| 发表于 2015-2-13 19:20:36 | 显示全部楼层
回复【16楼】24841500:
---------------------------------
真正有用的 就 只有这 几行。。。其它的 都是 【库】。。。

———— 3月5日 学雷锋,之后 今天:已经 彻底 完毕————看图:

————用  硬件逻辑分析仪 调试单片机确实 很方便、高效。。。完工了108元 自己的。。。

回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-2-13 23:01:05 | 显示全部楼层
钱有点少...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

28

主题

306

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
1320
金钱
1320
注册时间
2012-6-3
在线时间
353 小时
发表于 2015-2-13 23:47:14 | 显示全部楼层
这点钱,估计没人干,
回复

使用道具 举报

10

主题

94

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
200
金钱
200
注册时间
2014-3-8
在线时间
11 小时
发表于 2015-2-14 09:30:06 | 显示全部楼层
钱太少,我现在一天的工资都比这个多,做这个写+调试,也得不少时间,划不来
回复

使用道具 举报

87

主题

569

帖子

0

精华

高级会员

Rank: 4

积分
831
金钱
831
注册时间
2014-9-30
在线时间
140 小时
 楼主| 发表于 2015-2-15 17:35:01 | 显示全部楼层
其实 :对于 熟手来说 : 1个小时 就 可以 完成。。。

【算法】俺 都写好了的。。。

请::截标 的 给出 TaoBao 链接,,俺 支付报酬。。
回复

使用道具 举报

2

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2014-1-2
在线时间
21 小时
发表于 2015-2-15 17:53:21 | 显示全部楼层
回复【5楼】caosix:
---------------------------------
单单看你的算法说明,消耗一下,都不止一个小时。
回复

使用道具 举报

87

主题

569

帖子

0

精华

高级会员

Rank: 4

积分
831
金钱
831
注册时间
2014-9-30
在线时间
140 小时
 楼主| 发表于 2015-2-16 10:11:33 | 显示全部楼层
回复【6楼】摩尔根:
---------------------------------
再来 梳理 梳理 思路流程 ——
 1、设置 使用 HSI  内部 8MHz 时钟,希望尽量校准 内部8兆。设置使用 LSI 内部时钟。
 2、设置 SYSCLK = 56MHz,APB1 = 28MHz,APB2 = 56MHz。
 3、设置 MCO = HSI 以便于检测 校准 HSI 时钟。
 4、各个 Time x 定时器 基准时钟 1 Mhz 可以测量 1us 就行了。
 5、设置 定时器2 工作模式 为测量 输入脉冲的 周期,对应中断服务程序。
 6、设置 定时器3 工作模式 为固定 100us 脉冲,及对应的中断服务程序。
 7、依据【算法】 写一个 IF else ,elseif 的组合语句。最后补充 T > 350 000 的情况 拒绝输出。
 8、所有的运算都用 32位整数 运算,乘2 和 乘1024,使用 逻辑左移来实现(最低位补0)。 
 9、程序最初的时候 使用一个 超长的常数来 赋值给 T 例如 450 000 实现首个脉冲无延迟输出。
10、简单的程序。 108 梁山好汉 上场。。或者 我自己 慢慢编写。。。

最 讨厌的就是:同样是 IAR 环境,新版本 居然不兼容 旧版本。所以 STM32 始终不愿意入手。
但是:看在 STM32 又很 便宜的份上,又不得不 理睬它。。。
回复

使用道具 举报

87

主题

569

帖子

0

精华

高级会员

Rank: 4

积分
831
金钱
831
注册时间
2014-9-30
在线时间
140 小时
 楼主| 发表于 2015-2-16 10:37:11 | 显示全部楼层
——狗日的 百度 库文,和 丁豆 库文 都抄袭错误——

回复

使用道具 举报

头像被屏蔽

6168

主题

7036

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
19705
金钱
19705
注册时间
2012-12-27
在线时间
25 小时
发表于 2015-2-18 09:26:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

87

主题

569

帖子

0

精华

高级会员

Rank: 4

积分
831
金钱
831
注册时间
2014-9-30
在线时间
140 小时
 楼主| 发表于 2015-2-19 14:44:38 | 显示全部楼层
回复【9楼】xouou_53320:
---------------------------------
哈,哈,哈::那 俺 就 想不明白 那些 做开源的 ??

这么简单一个程序——俺:这里 也是 开源 的 。。。
回复

使用道具 举报

2

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2014-1-2
在线时间
21 小时
发表于 2015-2-20 09:17:56 | 显示全部楼层
回复【7楼】caosix:
---------------------------------
IAR是新版本软件兼容旧版本工程的
回复

使用道具 举报

87

主题

569

帖子

0

精华

高级会员

Rank: 4

积分
831
金钱
831
注册时间
2014-9-30
在线时间
140 小时
 楼主| 发表于 2015-2-20 13:25:43 | 显示全部楼层
回复【11楼】摩尔根:
---------------------------------
真的吗?? —— 那,,俺 就开始 自己 编写了——

俺 也只要求 6.5 版本 之后的 IAR 兼容 6.5 就可以了。。

自从 2009年 在 “阿莫” 那边 开始 学习 STM32 以来,
一直都为 不兼容 而烦恼,一想起 做好的 东西 以后不兼容
就等于 全部作废,,,所以 就 一直 学不了 STM32 。。。

【【2009年 就学习 STM32 _ caosix 】】学不进去。
http://www.amobbs.com/thread-3754807-1-1.html
【【2009年 就学习 STM32 _ caosix 】】学不进去。

再加上:ST公司 并没有 一个 完全完整 的 寄存器头文件。。

例如::
—就是不知道是不是都全面的描述了所有的STM32寄存器——??我不得不手工定义—— 
#define NVIC_SETENA0 (*(volatile unsigned long *)0xE000E100) //中断控制SET 
#define NVIC_CLRENA0 (*(volatile unsigned long *)0xE000E180) //中断控制CLR
回复

使用道具 举报

2

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2014-1-2
在线时间
21 小时
发表于 2015-2-20 13:43:35 | 显示全部楼层
回复【12楼】caosix:
---------------------------------
兼容的,不需要手工定义寄存器,ST和CMSIS库都有定义。
回复

使用道具 举报

1

主题

15

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2015-3-1
在线时间
0 小时
发表于 2015-3-1 22:30:40 | 显示全部楼层
有这个时间在这里折腾,你自己都能写好了
/……………………
回复

使用道具 举报

87

主题

569

帖子

0

精华

高级会员

Rank: 4

积分
831
金钱
831
注册时间
2014-9-30
在线时间
140 小时
 楼主| 发表于 2015-3-1 23:08:56 | 显示全部楼层
回复【14楼】coolpan1984:
---------------------------------
是的  正在 逐步写。。。首先 写 时钟无缝 切换。。。

可靠性 要求 还是 比较高。。。外晶体损坏的情况下,程序不能停止运行。。

请看::“打算做个 时钟【无缝切换】高可靠度的 STM32 基础程序。 ”
http://www.openedv.com/posts/list/47369.htm
回复

使用道具 举报

10

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
185
金钱
185
注册时间
2014-4-28
在线时间
39 小时
发表于 2015-3-4 11:42:28 | 显示全部楼层
我很好奇 108元 真有人会接么?
回复

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13135
金钱
13135
注册时间
2012-11-26
在线时间
3814 小时
发表于 2015-3-4 12:17:15 | 显示全部楼层
回复【16楼】24841500:
---------------------------------
1008  都得考虑下
学无止境
回复

使用道具 举报

87

主题

569

帖子

0

精华

高级会员

Rank: 4

积分
831
金钱
831
注册时间
2014-9-30
在线时间
140 小时
 楼主| 发表于 2015-3-4 21:16:22 | 显示全部楼层
其实 对于 熟悉的 人来说:不是那么难的。。。

这不::正在 构建 中::也没多少 代码。。。

这个 照抄别人的:PWM 输出 4路 OK —— 供调试用:信号源。。
PWM 输入 正在 调试。。。只需要 知道 【总周期】 就 大功告成。。
就这么 抄袭一下别人的 就 108元 。也可以啊。。。

V35_01PWM输出OK输入not.rar

468.67 KB, 下载次数: 426

回复

使用道具 举报

87

主题

569

帖子

0

精华

高级会员

Rank: 4

积分
831
金钱
831
注册时间
2014-9-30
在线时间
140 小时
 楼主| 发表于 2015-3-5 21:06:05 | 显示全部楼层
 回复【13楼】 摩尔根 :
---------------------------------
谢谢 —— 以前 不习惯 结构体 寄存器 表示法 ,现在 基本习惯了。

已经 完成 60% 了。PWM 捕捉 也调通了Timer4 的 PB(7)引脚 输入。

V35_01带4PWM中断T2T4_OK.rar

451.89 KB, 下载次数: 448

回复

使用道具 举报

87

主题

569

帖子

0

精华

高级会员

Rank: 4

积分
831
金钱
831
注册时间
2014-9-30
在线时间
140 小时
 楼主| 发表于 2015-3-6 17:33:34 | 显示全部楼层
 就快要完成了。。。PWM捕捉正常,,单脉冲输出正常

还有一点点 小小的 综合处理 + 精细化 == 大功告成。

V35_01带4PWM中断T4T2单冲.rar

453.15 KB, 下载次数: 417

回复

使用道具 举报

87

主题

569

帖子

0

精华

高级会员

Rank: 4

积分
831
金钱
831
注册时间
2014-9-30
在线时间
140 小时
 楼主| 发表于 2015-3-7 11:18:52 | 显示全部楼层
图片 不清晰,,,再来一张。。。

回复

使用道具 举报

2

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2014-1-2
在线时间
21 小时
发表于 2015-3-7 21:39:56 | 显示全部楼层
看你最起码也用了一天的时间。
回复

使用道具 举报

87

主题

569

帖子

0

精华

高级会员

Rank: 4

积分
831
金钱
831
注册时间
2014-9-30
在线时间
140 小时
 楼主| 发表于 2015-3-7 22:37:33 | 显示全部楼层
我 不是 【熟手】。。。所以 用时间 还不止一天。。。
现在 彻底 完成了。。。杂质语句都去除了。。。发布:

注意:外信号 输入给 PB7 和 PA0 两个脚、要用导线 接通 哦。
PA1 是 延迟后的 【输出】。((具体 算法数据 因需求变化 有所修改))

可以 供 学习 : 定时器 PWM 输入,和 单脉冲 输出 用。。
本程序:————主 时钟 48MHz 无缝切换 ————IAR 6.5

V35_01彻底专用OK.rar

451.71 KB, 下载次数: 442

回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11558
金钱
11558
注册时间
2014-4-1
在线时间
1318 小时
发表于 2015-3-7 23:02:38 | 显示全部楼层
呵呵,这就叫:求人不如求自己。
回复

使用道具 举报

18

主题

190

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1068
金钱
1068
注册时间
2012-6-18
在线时间
158 小时
发表于 2015-3-8 15:56:03 | 显示全部楼层
呵呵,怎么那么像PWM舵机的驱动? 舵机1500中立位, 1000-2000 为左右极限位。
回复

使用道具 举报

27

主题

774

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1473
金钱
1473
注册时间
2013-4-12
在线时间
77 小时
发表于 2015-3-8 16:19:41 | 显示全部楼层
看完楼主为表示已经晕菜,晚上吃108的东西不一定补得回来
简单是多么的快乐,而快乐就因你而简单!微芯动力LTKKS
回复

使用道具 举报

87

主题

569

帖子

0

精华

高级会员

Rank: 4

积分
831
金钱
831
注册时间
2014-9-30
在线时间
140 小时
 楼主| 发表于 2015-3-8 18:30:19 | 显示全部楼层

 回复【26楼】 bg8wj :
---------------------------------
Tim3 的 PWM 程序,,与 本题目 无关。。。是做 信号源 用用 而已。。

关键是 Tim3 工作起来 不占CPU也不占中断、确实很好(俺抄别人的)
调试的时候——处于断点停机 状态,Tim3 也仍然 正常 输出 脉冲。

完全可以 用来做 舵机控制。。。

回复

使用道具 举报

32

主题

300

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1049
金钱
1049
注册时间
2012-3-30
在线时间
321 小时
发表于 2015-3-8 18:55:15 | 显示全部楼层
给楼主一个注塑机继电器控制的电路图看看,一天之内把全部工作循环过程能说清楚给216元,不要安装。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-25 06:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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