Re: 關於UART的設計
|
||||
---|---|---|---|---|
新會員
|
版主 不好意思 再問一下喔
你的意思是光做RS485介面若只用在200bps 只需用一般I/O腳位配合RS485transceiver就可以完成嗎? (只要用軟體方式配合INT0 及一個Timer就可以了, 再配合一個I/O 腳做RS-485方向的切換就可以了)
發表於: 2005/2/3 17:24
|
|||
|
Re: can bus的wakeup功能,不能設定filter和mask嗎?
|
||||
---|---|---|---|---|
版主
|
在PIC18F458的DATA SHEET中發現以下文字:
When the PIC18FXX8 is in SLEEP mode and the Bus Activity Wake-up Interrupt is enabled, an interrupt will be generated, and the WAKIF bit will be set when activity is detected on the CAN bus. This interrupt causes the PIC18FXX8 to exit SLEEP mode. The interrupt is reset by the MCU, clearing the WAKIF bit. 所以,看來PIC,至少PIC18FXX8是,只要偵測到CAN bus 有信號,就會被喚醒。 不曉得您說的linear filter是在那裡看到的?是那一顆?
發表於: 2005/2/3 17:04
|
|||
|
Re: A/D 想不通的問題
|
||||
---|---|---|---|---|
版主
|
在data sheet 中,有關ADC的使用法,有一段文字為:Wait the required acquisition time.也就是說,在您把AD打開,或切到某一個通道的時候,要delay足夠的時間,以便內部的sample-and-hold電容的電位,充放到和信號源一樣。
看來您的程式好像沒做到這一點。 有關ADC的用法,右方「教材與講議」中,W201可以參考一下。
發表於: 2005/2/3 16:53
|
|||
|
Re: 使用SetDCPWM()發現問題?
|
||||
---|---|---|---|---|
高級會員
|
當我結束模擬時,設定的pwm輸出腳仍然輸出高電位,不是應該輸出為0嗎?
發表於: 2005/2/3 16:00
|
|||
|
Re: 使用SetDCPWM()發現問題?
|
||||
---|---|---|---|---|
版主
|
不懂為什麼是有時候??
可否測試一下教育訓練裡的 W401 workshop 裡的練習 3-2 它的duty cycle 就可以從 0 ~ 1023
發表於: 2005/2/3 15:38
|
|||
|
Re: 使用SetDCPWM()發現問題?
|
||||
---|---|---|---|---|
高級會員
|
您的意思是說OpenPWM1(0xff)才能設SetDCPWM1(1023)嗎?
但我用示波器量,有時候還是會用這種情況發生,是硬體設定的問題嗎
發表於: 2005/2/3 14:38
|
|||
|
請問各位有使用過ccompiler來讀取825416bit計數值得問題嗎
|
||||
---|---|---|---|---|
新會員
|
請問各位,小弟最近在使用16f877控制兩顆兩輪車馬達,
配合了8254計數器0,1,使用16bit方式,MODE4的讀取編碼器 發現實際上有在計數 但是卻不知為何似乎無法 使用16bit讀出值 8bit卻可.. 是否小弟在撰寫8254寫入16bit時產生錯誤呢? void A8254_Init() { TRISD=0X00; // write 8254 data Chip_Select(0x03);//for set 8254 control register; Delay(); PORTE=WRITE_COMMAND_E;//8254 WRITE ENABLE Delay(); //control register: SC1 SC0 RW1 RW0 8: TO USE MODE 4 PORTD=0X38; // 3:to count 0,use 16bit 8: TO USE MODE 4 Delay(); PORTD=0X78; // 7:to count 1,use 16bit 8: TO USE MODE 4 Delay(); PORTD=0XB8; // B:to count 2,use 16bit 8: TO USE MODE 4 Delay(); PORTE=WRITE_COMMAND_D; // 8254 WRITE DISABLE Chip_Select(0x01);// enable COUNT1 FFFF Delay(); PORTE=WRITE_COMMAND_E; Delay(); PORTD=0XFF; // load low 8 bit Delay(); PORTD=0XFF; // load high 8 bit Delay(); PORTE=WRITE_COMMAND_D; Chip_Select(0x02);// enable COUNT2 FFFF Delay(); PORTE=WRITE_COMMAND_E; Delay(); PORTD=0XFF; // load low 8 bit Delay(); PORTD=0XFF; // load high 8 bit Delay(); PORTE=WRITE_COMMAND_D; Chip_Select(0x00);// enable COUNT0 FFFF Delay(); PORTE=WRITE_COMMAND_E; Delay(); PORTD=0XFF; // load low 8 bit Delay(); PORTD=0XFF; // load high 8 bit Delay(); PORTE=WRITE_COMMAND_D; Chip_Select(0x07); }
發表於: 2005/2/3 12:33
|
|||
|
Re: 關於UART的設計
|
||||
---|---|---|---|---|
版主
|
很簡單 :
9600 bps 可以使用硬體的UART, 200bps 只要用軟體方式配合INT0 及一個Timer就可以了, 再配合一個I/O 腳做RS-485方向的切換就可以了 (用SN75176) 所以PIC就有很多選擇,最便宜的 PIC16F627A/628A/648 中階的16F73, 16F873A, 877A .... 高階有 : PIC18F242,252,452 ......
發表於: 2005/2/3 11:57
|
|||
|
Re: 關於UART的設計
|
||||
---|---|---|---|---|
新會員
|
一組UART要使用於RS485
速率200bit,但同時會有32 device在485的介面上 另外一組要使用RS232/RS485的切換 速率9600/200bit 也就是說 RS232介面的Baud Rate為9600bit RS485介面的Baud Rate為200bit,但是會用到遠端傳輸.
發表於: 2005/2/3 11:44
|
|||
|