• slider image 442
  • slider image 492
  • slider image 493
  • slider image 494
  • slider image 495
  • slider image 496
  • slider image 491
:::

論壇索引


Board index » All Posts (qeagle)




為什麼用can的listen mode接收資料就有問題
資深會員
資深會員


我寫了一個程式是用兩個can,一個收一個丟
收的用18f458內建的can,丟的用mcp2515
原來在normal mode時資料收的好好的,
資料收到後會用不同速度從另一個can丟出去,
後來想說用listen mode來收資料不會影響接收端資料
比較合乎功能要求

可是同樣的程式改成listen_only接收就不正確了
不知道有什麼可能問題呢?是否只有自身和另外一個端點
不能用listen_only呢?我看datasheet應該是只有
自動測baudrate才會有問題啊.....不解為何資料都收不到了
我是採用檢查旗標的輪詢方式,

回報一下bug
另外,can303的sequential_read和sequential_write
的副函式好像不正確,我用的時候都沒有辦法正常動作


發表於: 2005/3/19 21:51
頂部


hi-tech + 16f877有沒有可現成使用透過spi的mcp2510函式可用?
資深會員
資深會員


我知道ccs用在16系列的can2510函式有,
c18有用在18上的內建can2510函式庫
但hi-tech則沒有找到,不知道有人知道嗎?

發表於: 2005/2/23 13:46
頂部


Re: 舊型can controller mcp2510可以配18f的cpu嗎?
資深會員
資深會員


我用這塊pic的實驗板子
用原16f877+mcp2510和mcp2515皆ok

換成18f458 + mcp2515則mcp2515振盪會不正確
18f458 + mcp2510則看起來振盪正確,
但mcp2510都不正確動作
不知道為什麼?

感覺是18和mcp2510有點不太適應

發表於: 2005/2/23 13:42
頂部


Re: 舊型can controller mcp2510可以配18f的cpu嗎?
資深會員
資深會員



我需要兩個不同速度的can,所以除了18自己的can之外,需要再一個外接的mcp2510
之前用18f458配+mcp2515用c18去寫是ok的,
用pic evm super201實驗板上的16f877+mcp2510用ccs去寫也可以用
可是把實驗板上的16f877換掉18f458,其餘皆不變仍用mcp2510,再加上c18去寫就無法正常動作
c18的函式庫我改過了,把chip select的腳位換了(量過了,確定cs有換腳)
結果是initialization時是通過的,但之後切換can mode都不成,
因為用函式去讀現在can的mode都是192,測試傳送資料也不成功\r
程式初始化是套用c18的函式庫如下:

while (1)
{
// Initialized CAN2515 and SPI ,related pin will be set by the library including RC5 RC3 RC2
uc_temp = CAN2510Init(
CAN2510_RESET & CAN2510_RXB0_STDMSG & CAN2510_RXB1_STDMSG & CAN2510_RXB0_NOROLL & CAN2510_RX1BF_OFF &
CAN2510_RX0BF_OFF & CAN2510_TX2_GPIN & CAN2510_TX1_GPIN & CAN2510_TX0_GPIN & CAN2510_REQ_CONFIG & CAN2510_CLKOUT_OFF,
CAN2510_BRG_8x & CAN2510_SJW_1TQ & CAN2510_PH2SEG_3TQ & CAN2510_PH1SEG_3TQ & CAN2510_PROPSEG_1TQ &
CAN2510_PH2SOURCE_PH2 & CAN2510_SAMPLE_1x & CAN2510_RX_FILTER,
CAN2510_NONE_EN,
CAN2510_SPI_FOSC4,
CAN2510_SPI_MODE00,
CAN2510_SPI_SMPMID ); // Initialized Sucessful
if ( uc_temp == 0 )
{
break;
}
}

CAN2510SetMode( CAN2510_MODE_LISTEN ); // Set 125K CAN controller for operation
不解為什麼不成,那位高手有用18x的pic同樣用在這實驗板上可以的?借我看一下程式
我懷疑是不是18x和mcp2510有什麼不相容的地方.

另外我查了一下文件,發現mcp2510和mcp2515不是完全相同,那c18的can2510函式是否兩者通用?
不相同的地方這個函式是如何處理的?

發表於: 2005/2/21 10:26
頂部


舊型can controller mcp2510可以配18f的cpu嗎?
資深會員
資深會員


我把一塊pic出的實驗板上的16fxx換成18f458
我比過datasheet,兩個腳位是相同的
主要是想用c18來寫程式測它的can功能,可是一直不成功\r
不知道和mcp2510會有關係嗎?
因為我之前用的是mcp2515(不同板子)測試都正確

我看了一下,mcp2510和mcp2515只有spi速度上有點差別
不知道這會不會影響?

發表於: 2005/2/17 18:45
頂部


Re: 如何重新編譯c18的函式庫?
資深會員
資深會員


經過我再次查看,我認為c18提供的source有問題
可否請站長再確認

因為在canenabl.h中define了
#define Port C // PORT used PORTC (use A, B, C, D, ...)
#define Pin 0 // Pin used RC2

可是這兩個常數在canenabl.c完全沒有用到
我看到的程式碼是這樣
LATname(C) &= ~( 1 << 2 ); // Force selected pin output latch low, others unchanged
TRISname(C) &= ~( 1 << 2 ); // Make selected pin an output

己經把port寫死為c,而pin的位移也寫死成2
再怎麼改h檔根本沒有用....

可是我把程式改成(其中pin是define成0)
LATname(C) &= ~( 1 << Pin ); // Force selected pin output latch low, others unchanged
TRISname(C) &= ~( 1 << Pin ); // Make selected pin an output

編譯時會有warning message,好像是警告shift沒用
但是最後程式跑起來還是不正確
可否請站長確認,到底怎樣用才會對,我確信直接改h檔一定不行

發表於: 2005/2/17 11:08
頂部


Re: 如何重新編譯c18的函式庫?
資深會員
資深會員


請問用demo版的c18可以做recompile的動作嗎?
我執行了一下其batch的recompile
發現裏面用了mcc18這個程式
但我的目錄裏面沒有這個程式,所以我猜是c18demo
改BATCH檔之後
可以用batch檔重編,可是編好結果好像都還是使用原來的
PORTC腳位
不知道板主有沒有試過重編之後是否真的跑的正確

還是除了CANENABLE.H之外還有其它地方要修改
因為我看文件上是說要改CAN_ENABLE和CAN_DISABLE
兩個FUNCTION,但這兩個FUNCTION好像沒有什麼要改的地方啊


發表於: 2005/2/15 21:25
頂部


Re: 如何重新編譯c18的函式庫?
資深會員
資深會員


你好,根據文件上的記載,若是/CS接腳
要從預設的RC2換成其它腳位,要改H檔,再重新編譯

上面沒有寫什麼檔要修改,但根據我看SRC的結論是要改
CANenabl.h,
把原來的程式嗎改換下面兩行,換成portc0
#define Port C
#define pin 0
而CAN2510.H我則找不到需要修改的地方

我是把src\pmc\can2510\18cxx的c和h檔都copy到project
而其它的h檔如can2510.h好像沒有動到,所以我還用原來的

雖然編譯是ok的,但是實際跑時它還是用預設的RC2在做CS
不知道我那裏用錯了,請指點一二

發表於: 2005/2/15 15:49
頂部


如何重新編譯c18的函式庫?
資深會員
資深會員


在使用c18的 can2510的library時有限定其CS腳位
就文件上所寫若要用其它腳位要修改一個點H檔
並重新編譯為新的函式庫

我知道要修改那,但不知道如何重新編譯其內建的LIBRARY
可否請高手指點一二

發表於: 2005/2/14 20:34
頂部


Re: 請問那有多組語檔的使用資料?
資深會員
資深會員


抱歉,原來有一個relocatable的講義檔
沒有注意到....不過若有更詳細有規則的教材,觀迎指點

不過翻了一下,裏面好像沒有提到a16這個副檔名
不知道那位可以解釋一下,a16和一般的asm有何差別?
是在使用前要先自行定義cblock的位置嗎?

發表於: 2005/2/1 20:22
頂部



« 1 ... 26 27 28 (29) 30 »



:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------