Re: AD转换问题
|
||||
---|---|---|---|---|
初級會員
|
谢谢!问题已解决,问题的关键确实是因为通道切换后需要适当的延时。
發表於: 2005/3/18 13:19
|
|||
|
Re: CAN system's problem with 3 nodes
|
||||
---|---|---|---|---|
初級會員
|
No,node3 does nothing but waits to receive the message,I think busy is unreasonable .
發表於: 2005/3/18 13:16
|
|||
|
Re: CAN system's problem with 3 nodes
|
||||
---|---|---|---|---|
資深會員
|
我猜你的 node3 太忙碌了,以致於來不及去收 buffer上的資料
發表於: 2005/3/18 11:43
|
|||
|
Re: dsPIC有可以取消MCLR的型號嗎?
|
||||
---|---|---|---|---|
資深會員
|
因為機器工作時會有一個高週波產生器
頻率幾十Khz以上,電位差10KV左右 即使我把MCLR接到VCC也是會受到干擾重開機 嚴重時短路燒毀PIC(掛了好幾顆18F452) 試過各種防干擾方式一樣無效 直到有了關閉MCLR功能出現的PIC後才能使用 而且我們根本不需要RESET 所以我也把指令RESET給取消掉 應該是有其他方法可以防干擾 但我能力不足無法克服 目前先用這功能產品化 以後再慢慢改良...
發表於: 2005/3/18 8:51
|
|||
|
Re: AD转换问题
|
||||
---|---|---|---|---|
資深會員
|
大概是你切換通道的時間太短吧
規格書上有說明 當切換到另一個通道時 必須讓內部的電容器充電完成 轉換出來的數值才會準確 我的做法是一組轉換完後 先把通道切換到另一個 然後執行其他工作 過一段時間再執行轉換 如果不是這個原因 那有可能是外部電路有問題 可以先拿電表量量看兩個電位會不會有互相影響
發表於: 2005/3/18 8:41
|
|||
|
Re: pwm問題請教
|
||||
---|---|---|---|---|
資深會員
|
如此低頻,可以考慮用I/O併著中斷使用,利用中斷做計數,再把計數值當成最小精度,計數值越多,頻率越慢;但這樣看起來,你似乎不需要調整DUTY CYCLE,不過也可以利用中斷來做.
發表於: 2005/3/18 1:06
|
|||
|
AD转换问题
|
||||
---|---|---|---|---|
初級會員
|
我通过两个可调电位器将0~5V的电压分别接到AN0和AN5引脚上,为什么在程序里分别启动AD转换时,两组结果相互影响?
發表於: 2005/3/18 0:06
|
|||
|
CAN system's problem with 3 nodes
|
||||
---|---|---|---|---|
初級會員
|
I developed a CAN system with 3 nodes(node1,node2,node3),using 18F458 and Philips PCA82C250,the Oscillator is 10M,the bus rate is about 80K,the node2 send out message with ID 0x218,I hope both the node1 and node3 can receive the message in time,however only the node1 does this,the node3 can only receive the message from time to time,the delay is so obvious.I set the 3 nodes’ message mask and filter as follows:
Node1: ……… CANSetOperationMode(CAN_OP_MODE_CONFIG) ; CANSetMask(CAN_MASK_B1, 0x07ff, CAN_CONFIG_STD_MSG ) ; CANSetMask(CAN_MASK_B2, 0x07ff, CAN_CONFIG_STD_MSG ) ; CANSetFilter(CAN_FILTER_B1_F1, 0x0220 , CAN_CONFIG_STD_MSG) ; CANSetFilter(CAN_FILTER_B1_F2, 0x0218 , CAN_CONFIG_STD_MSG) ; CANSetFilter(CAN_FILTER_B2_F1, 0x0210 , CAN_CONFIG_STD_MSG) ; CANSetFilter(CAN_FILTER_B2_F2, 0x0000 , CAN_CONFIG_STD_MSG) ; CANSetFilter(CAN_FILTER_B2_F3, 0x0000 , CAN_CONFIG_STD_MSG) ; CANSetFilter(CAN_FILTER_B2_F4, 0x0000 , CAN_CONFIG_STD_MSG) ; CANSetOperationMode(CAN_OP_MODE_NORMAL) ; ……… While(1) { CANReceiveMessage(….); } ………………………. Node2: ……… CANSetOperationMode(CAN_OP_MODE_CONFIG) ; CANSetMask(CAN_MASK_B1, 0x07ff, CAN_CONFIG_STD_MSG ) ; CANSetMask(CAN_MASK_B2, 0x07ff, CAN_CONFIG_STD_MSG ) ; CANSetFilter(CAN_FILTER_B1_F1, 0x0018 , CAN_CONFIG_STD_MSG) ; CANSetFilter(CAN_FILTER_B1_F2, 0x0220 , CAN_CONFIG_STD_MSG) ; CANSetFilter(CAN_FILTER_B2_F1, 0x0000 , CAN_CONFIG_STD_MSG) ; CANSetFilter(CAN_FILTER_B2_F2, 0x0000 , CAN_CONFIG_STD_MSG) ; CANSetFilter(CAN_FILTER_B2_F3, 0x0000 , CAN_CONFIG_STD_MSG) ; CANSetFilter(CAN_FILTER_B2_F4, 0x0000 , CAN_CONFIG_STD_MSG) ; CANSetOperationMode(CAN_OP_MODE_NORMAL) ; ……… While(1) { ………….. CANSendMessage( 0x218,TX_Data_Buf1,TX_Data_Len1, CAN_TX_PRIORITY_0 & CAN_TX_STD_FRAME & CAN_TX_RTR_FRAME ) ; ………….. } ………………………. Node3: ……… CANSetOperationMode(CAN_OP_MODE_CONFIG) ; CANSetMask(CAN_MASK_B1, 0x07ff, CAN_CONFIG_STD_MSG ) ; CANSetMask(CAN_MASK_B2, 0x07ff, CAN_CONFIG_STD_MSG ) ; CANSetFilter(CAN_FILTER_B1_F1, 0x0218 , CAN_CONFIG_STD_MSG) ; CANSetFilter(CAN_FILTER_B1_F2, 0x0020 , CAN_CONFIG_STD_MSG) ; CANSetFilter(CAN_FILTER_B2_F1, 0x0000 , CAN_CONFIG_STD_MSG) ; CANSetFilter(CAN_FILTER_B2_F2, 0x0000 , CAN_CONFIG_STD_MSG) ; CANSetFilter(CAN_FILTER_B2_F3, 0x0000 , CAN_CONFIG_STD_MSG) ; CANSetFilter(CAN_FILTER_B2_F4, 0x0000 , CAN_CONFIG_STD_MSG) ; CANSetOperationMode(CAN_OP_MODE_NORMAL) ; ……… While(1) { CANReceiveMessage(….); } ………………………. I donnot know where the problem is.
發表於: 2005/3/17 23:52
|
|||
|
Re: pwm問題請教
|
||||
---|---|---|---|---|
新會員
|
小弟使用的是16F73,工作時脈為4Mhz, 如欲使用pwm module
來得到一4hz頻率,使用公式小弟我該怎麼計算呢 PWM Period=[(PR2)+1]X4XToscX(TMR2 Prescale Value)
發表於: 2005/3/17 23:40
|
|||
|