欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4928|回復: 4
收起左側

dsPIC30F的操作問題

[復制鏈接]
ID:342505 發表于 2018-7-14 17:19 | 顯示全部樓層 |閱讀模式
使用MPLAB開發環境,使用C30編譯器,PICkit3.5調試工具,進行CANopenNode協議棧移植。上述的背景,我在修改完時鐘參數(開發板使用外部11.0592Mhz晶振)后,Debugger情況下可以運行,也能收發數據。當我移除kit3.5后,重新上電,不能收發數據,而且芯片溫度升高,請問這是為什么?
這與我使用的鏈接文件,p30f6010a.gld有關嘛,急需解答。謝謝
回復

使用道具 舉報

ID:342505 發表于 2018-7-14 22:01 | 顯示全部樓層
找到問題了,主要是沒有配置好時鐘源的問題導致的,下面我詳細的講述一下。
回復

使用道具 舉報

ID:342505 發表于 2018-7-14 22:18 | 顯示全部樓層
首先,該芯片的時鐘源(振蕩器)系統如下圖所示

dsPIC30F時鐘源

dsPIC30F時鐘源

使用外部晶振時,可選擇倍頻操作以及分頻操作,最后獲得系統時鐘。
其中對于不同的外部晶振對應的時鐘源配置也是不同的,主要分為:
1. XTL,200kHz - 4MHz
2. XT, 4MHz - 10MHz
3. HS, 10MHz - 25MHz
例如目標版的外部晶振是8MHz,則在軟件配置時,應有如下語句:
  1. _FOSC(CSW_FSCM_ON & XT_PLL8);
復制代碼

8MHz在4MHz-10MHz之間,故選擇XT參數,PLL8則表示8倍頻
同樣的如果需要分頻,對OSCCON寄存器的POST位進行配置即可。

總結:以上述情況為例,采用8MHz外部晶振,8倍頻,不分頻,則有如下結果
系統時鐘頻率Fsysclk = 8Fosc = 64MHz;
指令周期頻率Fcy = Fosc/4 = 2MHz;
回復

使用道具 舉報

ID:342505 發表于 2018-7-14 22:23 | 顯示全部樓層
至于1樓的情況,因為本目標板使用的外部晶振頻率超過10MHz,而在源碼中
  1. _FOSC(CSW_FSCM_ON & XT_PLL8);
復制代碼

很明顯不符合外部晶振的使用范圍,故在實際燒寫完后,芯片因為無法正常起振外部晶振而導致死機
改為HS即可正常運行
至于為何在DEBUG模式下可以正常運行,個人猜測可能DEBUG的時鐘源,即晶振源來自kit3而不是本目標板的外部晶振,這只是個人的猜測,上述如有不對或謬誤之處還望大牛批評指正。
回復

使用道具 舉報

ID:342505 發表于 2018-7-14 22:27 | 顯示全部樓層
還有一個經驗,就是出現本貼的情況,或者其他類似情況,強烈推薦去查看配置位。
在MPLAB v8.92下,是Configure->Configuration Bits
具體參考如下帖子:dsPIC30F 配置位
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表