佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

楼主: PenBrush

16F84A

[复制链接]
 楼主| 发表于 30-10-2007 09:11 AM | 显示全部楼层

回复 #20 pic 的帖子

回复 #13 pic 的帖子

谢谢版主。!!

如果 WHILE()  有error

Line 211(11,12): A numeric expression must appear here

加了 WHILE(1)就可以了。

一定要在WHILE 的 ()里放CONDITION吗?
回复

使用道具 举报


ADVERTISEMENT

发表于 30-10-2007 09:38 AM | 显示全部楼层
原帖由 PenBrush 于 30-10-2007 09:11 AM 发表
回复 #13 pic 的帖子

谢谢版主。!!

如果 WHILE()  有error

Line 211(11,12): A numeric expression must appear here

加了 WHILE(1)就可以了。

一定要在WHILE 的 ()里放CONDITION吗?


对,因为这 while 语句是条件循环。
回复

使用道具 举报

发表于 30-10-2007 10:35 AM | 显示全部楼层
原帖由 PenBrush 于 30-10-2007 09:11 AM 发表
加了 WHILE(1)就可以了。

一定要在WHILE 的 ()里放CONDITION吗?

可以用While(1), 或while (true)

另一种,也可以用
  1. for( ; ; )
  2. {


  3. }
复制代码
这个没有condition 的for loop 也是可以。



另一种,也可以用, 但不建议, C的架构很弱。
  1. aLoop:

  2. // do your code here


  3. goto aloop;
复制代码
注: 在这里Post code 时, 请加"[ code]", "[/code]", (space 拿掉)

[ 本帖最后由 pic 于 30-10-2007 10:38 AM 编辑 ]
回复

使用道具 举报

 楼主| 发表于 30-10-2007 12:19 PM | 显示全部楼层
谢谢。。!!

又有问题了。。。   

  1. while(1)
  2.     {
  3.        if (input(STH)==1)
  4.        {
  5.          output_high(FAN);
  6.          delay_ms(30000);
  7.          output_high(COMP);
  8.        }
  9.        else
  10.        {
  11.          output_low(FAN);
  12.          output_low(COMP);
  13.        }
  14.       }
复制代码


当 STH=1 的 Loop 启动过后。。。如 condition 变 了 STH=0 也要Delay 30s 才会跳STH=0 的loop。
要怎样才能让它立刻跳去Else Loop?

[ 本帖最后由 PenBrush 于 30-10-2007 12:21 PM 编辑 ]
回复

使用道具 举报

 楼主| 发表于 30-10-2007 12:39 PM | 显示全部楼层
我在CCSC的reference manual里看到
#INT_RA // any change on A0-A5
#INT_RB // :     B4-B7

怎样使用以上interrupts? 能解决我的问题吗?
回复

使用道具 举报

发表于 30-10-2007 01:35 PM | 显示全部楼层
原帖由 PenBrush 于 30-10-2007 12:19 PM 发表
当 STH=1 的 Loop 启动过后。。。如 condition 变 了 STH=0 也要Delay 30s 才会跳STH=0 的loop。
要怎样才能让它立刻跳去Else Loop?

我在CCSC的reference manual里看到
#INT_RA // any change on A0-A5
#INT_RB // :     B4-B7

怎样使用以上interrupts? 能解决我的问题吗?


你的Logic基本上有问题,
1.可以先请问你要做什么?
2.要得到什么样的效果?

有很多种方法作, 但要先知道你要做什么。
回复

使用道具 举报

Follow Us
 楼主| 发表于 30-10-2007 04:53 PM | 显示全部楼层
整个流程讲出来问你,你会不会向我收钱啊?

因为我是拿我工作的公司以前的产品作为我的练习题目。
我想以后转去写Frimware。

现在在工作。。。放工后才把FlowChart画出来。

谢谢。。!!!
回复

使用道具 举报

发表于 30-10-2007 05:30 PM | 显示全部楼层
原帖由 PenBrush 于 30-10-2007 04:53 PM 发表
整个流程讲出来问你,你会不会向我收钱啊?

因为我是拿我工作的公司以前的产品作为我的练习题目。
我想以后转去写Frimware。

现在在工作。。。放工后才把FlowChart画出来。

谢谢。。!!!

我不会向你收钱 。。。但如你要给我不会拒绝。。

你不需要放FlowChart, 只要大概讲他的应用, 用在那里, 有什么特定要求,特点就可以了。
只要不是太模糊, 我应该可以猜到, 联想到。
还有, 如果有违你公司的智慧产权, 就不要说了。

妳在Penang 工作?想在KL工作吗? 我要请(栽培)一个人。。。包山包海的, 很辛苦, 可是三年后包你有前途和钱途。

[ 本帖最后由 pic 于 30-10-2007 05:35 PM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 30-10-2007 07:39 PM | 显示全部楼层
原帖由 pic 于 30-10-2007 05:30 PM 发表

我不会向你收钱 。。。但如你要给我不会拒绝。。

你不需要放FlowChart, 只要大概讲他的应用, 用在那里, 有什么特定要求,特点就可以了。
只要不是太模糊, 我应该可以猜到, 联想到。
还有, 如 ...


大老, 你早一点讲, 我就去你那边training了咯。。。哈哈哈
看你收不收罢了。
回复

使用道具 举报

发表于 30-10-2007 08:29 PM | 显示全部楼层
原帖由 fritlizt 于 30-10-2007 07:39 PM 发表


大老, 你早一点讲, 我就去你那边training了咯。。。哈哈哈
看你收不收罢了。

不, 你们Training应该去大厂, 见一下世面, 学一下有organize , 有Procedure, 有ISO的,凡是讲Black & White 的, 看一下别人/上司/同事如何耍太极,部门和部门的政治斗争如何进行 , 如何写Email, 措词/用词, 如何和上司对话, 看人怎样拍马屁, 如何自我保护, 这些都要学。。。。很多很多。。。我不是在说笑, 真的要学起来。
回复

使用道具 举报

发表于 30-10-2007 09:27 PM | 显示全部楼层
原帖由 pic 于 30-10-2007 08:29 PM 发表

不, 你们Training应该去大厂, 见一下世面, 学一下有organize , 有Procedure, 有ISO的,凡是讲Black & White 的, 看一下别人/上司/同事如何耍太极,部门和部门的政治斗争如何进行 , 如何写Email, 措词 ...


讲得也是。 现在目前为止也是做firmware.
都是在写program..哈哈 。

[ 本帖最后由 fritlizt 于 30-10-2007 09:31 PM 编辑 ]
回复

使用道具 举报

发表于 31-10-2007 02:06 PM | 显示全部楼层
原帖由 pic 于 30-10-2007 05:30 PM 发表

想在KL工作吗? 我要请(栽培)一个人。。。包山包海的, 很辛苦, 可是三年后包你有前途和钱途。


大老,你真的要请人吗?KL哪里?
你收不收新人?我是在槟城的,如果KL有得发展我也想来闯以下
回复

使用道具 举报

 楼主| 发表于 1-11-2007 01:18 AM | 显示全部楼层

回复 #28 pic 的帖子

我用短消息回复您了.
回复

使用道具 举报

 楼主| 发表于 1-11-2007 08:37 PM | 显示全部楼层

回复 #26 pic 的帖子

你的Logic基本上有问题,
1.可以先请问你要做什么?
2.要得到什么样的效果?

有很多种方法作, 但要先知道你要做什么。



Input 是Float Switch

分别放在两个桶里,以下是Switch的排法.

Tank A
S1        HIGH=0 LOW=1

Tank B
S2        HIGH=0 LOW=1


S3        HIGH=1 LOW=0


1.        S1 low level 就要从Tank B Pump水 如果S3是High Level
S1 high level 就要 OFF pump && routine 1 (OUTPUTC ON 30s OFF 20minutes 要不停的Loop直到S2 high level)

2.        S2 low level 就要 ON OUTPUTA 30second 后 ON OUTPUTB
S2 high level 就要 OFF OUTPUTB 30second 后 OFF OUTPUTA && routine 2 (OUTPUTC ON 1minutes OFF 20minutes 要不停的Loop)

3.        S3 low level 就要 ON OUTPUTA 30second 后 ON OUTPUTB && OFF PUMP && OFF OUTPUTC
S3 high level 就要 Pump水 如 S1 low level.

4.        PUMP ON要确定OUTPUTC曾经有在20Minutes前有ON过。


Only 5 condition could be happen ,  all output is active high

S1=1 S2=1 S3=0   PUMP =0 OUTPUTA=1 OUTPUTB=1 OUTPUTC=0

S1=1 S2=1 S3=1   PUMP =1 OUTPUTA=1 OUTPUTB=1 OUTPUTC=1(routine loop ON 30s OFF 20minutes)

S1=0 S2=1 S3=1   PUMP =0 OUTPUTA=1 OUTPUTB=1 OUTPUTC=1(routine loop ON 30s OFF 20minutes)

S1=1 S2=0 S3=1   PUMP =1 OUTPUTA=0 OUTPUTB=0 OUTPUTC=1(routine loop ON 1minute OFF 20minutes)

S1=1 S2=0 S3=0   PUMP =0 OUTPUTA=0 OUTPUTB=0 OUTPUTC=1(routine loop ON 1minute OFF 20minutes)

[ 本帖最后由 PenBrush 于 1-11-2007 08:38 PM 编辑 ]
回复

使用道具 举报

发表于 2-11-2007 12:16 AM | 显示全部楼层

回复 #34 PenBrush 的帖子

OUTPUTA, OUTPUTB,  OUTPUTC 是什么? Pump 吗?

TankA 有S1,TankB 有S2 和 S3?
回复

使用道具 举报

 楼主| 发表于 2-11-2007 08:58 AM | 显示全部楼层

回复 #35 pic 的帖子

OUTPUTA=FAN
OUTPUTB=compressor
OUTPUTC=UV light
OUTPUTD=Pump

TankA 有S1,TankB 有S2 和 S3....是的TankB大
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 2-11-2007 05:13 PM | 显示全部楼层
  1. void main()
  2. void main(void)
  3. main()
复制代码


请问以上的三个--main--有什么分别?
回复

使用道具 举报

发表于 4-11-2007 09:49 PM | 显示全部楼层
原帖由 PenBrush 于 2-11-2007 05:13 PM 发表
void main()
void main(void)
main()

请问以上的三个--main--有什么分别?

在这里, 3个都可以用。

但习惯用 void main()

void, 是告诉compiler, 这个function 不会return value。
回复

使用道具 举报

发表于 4-11-2007 10:20 PM | 显示全部楼层
原帖由 PenBrush 于 1-11-2007 08:37 PM 发表
Input 是Float Switch

分别放在两个桶里,以下是Switch的排法.

Tank A
S1        HIGH=0 LOW=1

Tank B
S2        HIGH=0 LOW=1


S3        HIGH=1 LOW=0


1.        S1 low lev ...

我收到了楼主写的程序, (有问题, 有缺点的)
我完全重写了他要的程序, 用Simple Multi-task (Round Robin)的方式写。
已写好, 交给楼主测试, 除错。

这个程序是用来制造水, 原理是用冷热, 从空气里提取水份, 储存, UV杀菌后供人饮用。(就像冷气机那样, 使用时有水产生)

因为是商业的产品, 我不方便在这里公开源码, 对不起。


注:
如网友有兴趣得到我写的那个源码,我可以发一份给他,但作为学习为前提,我希望你先写你自己的code , 按楼主的条件,按你自己的方法重写,我看到你努力后, 就会发给你, 说难不难, 说容易不容易。。。
回复

使用道具 举报

发表于 4-11-2007 11:56 PM | 显示全部楼层
round robin 是 RTOS 的方法吗?

是 CCS optimize ?
还是写时跟着某些方法?

对不起, 因为对这类的情况不是很了解。。
回复

使用道具 举报

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

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 25-12-2024 12:19 PM , Processed in 0.306945 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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