• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
:::

論壇索引


Board index » All Posts (Ryang)




Re: 16F819 CCP 模組用 PWM 工作模式時週期和 Duty Cycle 解析度不同的疑問
#91
版主
版主


Timer2 + CCP1CON [5:4] 的 period 的設定是 10-bits 的長度,比較器也是 10-bits。 會被誤認為只能做 8-bits 的PWM 原因只要是再輸入的頻率。 實際上 Timer2 是看起來是使用 Fcy 輸入的,實際卻是使用 Fosc 的。 因為 Fosc/4 = Fcy 所以這裡面的除 4 就是產生 PWM 10-bits 的關鍵。這除 4 是 Q clock 有兩個位元的計數,所以這可以用 CCP1CON [5:4] 這兩位元的設定,這樣就可以達到 PWM 10-bits 的解析度。

Attach file:



jpg  擷取.JPG (108.51 KB)
16_60e7ec88bc37c.jpg 944X537 px

發表於: 2021/7/9 14:28
頂部


Re: c18 piclf46k22 eeprom 燒錄初始問題
#92
版主
版主


是的,C18 所提供的 lkr 是基本的標準檔,如果要加入一些特殊的記憶體使用就必須做些特殊的宣告。

你可以用強制指定 eeprom 的程式位址的方式來制定位址如下所示:

程式中加入:
#pragma romdata EEDATA=0xF00000
rom unsigned char Temp_Setting[ ] = {0xE7,0x03,0x00,0x00}
// 設定 EEPROM 溫度範圍初始設定值 (0.0OC ~ 99.9OC)
// 0x03E7 = 99.9OC , 0x0000 = 0.0OC 擺放在 Internal EEPROM Addr. 0x00 ~ 0x03 位址
#pragma romdata

使用 PIC18Fxxxx EEPROM 的程式範例及PPT 教材可以參考 W402T v2.0 PIC18F整合應用課程 教育訓練的第四章的說明。

發表於: 2021/7/9 14:08
頂部


Re: c18 piclf46k22 eeprom 燒錄初始問題
#93
版主
版主


有關 PIC18F 內建 EEPROM 內容值的初始設定依使用的 compiler 在用法上是不同的。

使用 XC8 及 C18 的方法是不同,如下:
1. XC8 是使用巨集指令的方式在 pic.h 的標頭檔內定義的。(可參考 XC8T v1.0 的教材內說明)。
2. C18 則是使用 link 描述檔去指定 (比較複雜)。

相關資料及教材,C18 可以參考 "W401 v3 MPLAB C18 C Compiler Workshop" 第二天的教材,如貼圖所示。

Attach file:



jpg  擷取.JPG (127.23 KB)
16_60e68c02eefec.jpg 846X638 px

發表於: 2021/7/8 13:24
頂部


Re: 暫存器設定波浪號問題
#94
版主
版主


一般使用 XC8 compiler 只要引用萬用的標頭檔即可: #include
xc.h 檔是第一 層含入檔,之後他會依據 X IDE 所傳遞專案裡所使用的元件名稱後開始到第二層處理....直到第四層找出 pic18_chip_select.h 裡的元件 如: pic18f45k22.h
/********************************************************************************
|  CLASS:         XC8 - Getting Started with MPLAB XC8 for PIC18F4520 + APP001 EVM Board
|  PROGRAM:       Lab1.c, PIC18F_LD_APP001.c
|  AUTHOR:        Richard Yang
|  DATE:          30 APR 2013
|  DESCRIPTION:   First MPLAB XC8 project to test whether everything is working
|  REQUIREMENTS:                 

|  REVISION HISTORY:
|  30 APR 2013    v1.0
********************************************************************************/


#include <xc.h>
#include "P18F_LCD.h"

#pragma config OSC=INTIO7, WDT=OFF, BOREN = ON, BORV = 1, LVP=OFF, PBADEN=OFF, XINST = OFF, MCLRE = ON


有關這興標頭檔的層次及相關內容可以參考 XC8T 的中文教育訓練教材內的說明。

發表於: 2021/7/8 13:10
頂部


Re: DM330018實驗板
#95
版主
版主


應該是有 delay 函數的支援,請下載一下 XC16 的 U'ser Guide 裡面有詳細的說明頻率與延遲的設定需求。

C:\Program Files (x86)\Microchip\xc16\v1.36\docs\MPLAB_XC16_C_Compiler_Users_Guide.pdf

發表於: 2021/7/7 14:43
頂部


Re: XC8 錯誤問題
#96
版主
版主


我沒有辦法複製出你的錯誤。typeSub( ) 不存在且是在 I2C 裡呼叫的。

一樣建議看一下教育訓練光碟下的教材:
http://www.microchip.com.tw/RTC/RTC_DVD/
8-Bits MCU 相關課程 -->
MCC201 v3.0x MPLABC® Code Configurator

這份教材使用 MCC 元件是 PIC18F45K22 與你使用的元件是同一系列的,裡面一 I2C 的章節及範例請參考一下。

發表於: 2021/7/7 14:38
頂部


Re: dsPIC30F3011 UART問題
#97
版主
版主


1. 請再看一下 dsPIC30F4011 的 UASRT 方塊圖。傳送事先送到 UxTXERG 的 4 層 FIFO 的暫存區,之後資料會在載入到 U2TSR 傳送出去。看不到 FIFO U2TXREG 是正常的。
同樣接收也是有四層接收 FIFO的。

2. TRMT status bit in the UxSTA SFR
Bit is cleared if Transmit Shift Register (UxTSR) is busy or a transmission is pending
建議先檢查 TRMT 位元的狀態後再傳送資料。

3. 你有使用 dsPIC30F4011 的周邊函數庫,所以需使用 C30 的編譯器,XC16 線不支援就的周邊函數改由MCC 來支援爭邊函數。

4. 你的問題我無法一行一行的看,建議你參考我之前寫的教材:

http://www.microchip.com.tw/RTC/RTC_DVD/
16-Bits MCU 相關課程 -->
dsPICMOD dsPIC30F Module Training

裡面有USART 的章節,有投影教材及三個城市範例可以參考看看。

發表於: 2021/7/7 14:31
頂部


Re: Dspic33FJ64MC508A Timer1設定問題
#98
版主
版主


1. 使用外部石英晶體震盪期輸入的頻率範圍是1.6 ~ 16MHz. 最高 Fosc 輸出頻率為 80Mhz. 參考地下例子。
建議使用 MCC 來建立系統的設定及周邊函數庫。

// Configure Oscillator to operate the device at 80Mhz

// Fosc= Fin*M / (N1*N2), Fcy=Fosc/2
// Fosc= 8MHz *40 / (2*2) =80 Mhz for 8MHz input clock
    
PLLFBD=38;                // M=40, PLLFBD= M - 2 = 38
    
CLKDIVbits.PLLPOST=0;        // N1=2
    
CLKDIVbits.PLLPRE=0;        // N2=2
    
OSCTUN=0;                // Tune FRC oscillator, if FRC is used

// Disable Watch Dog Timer
    
RCONbits.SWDTEN=0;

// Wait for PLL to lock
//    while(OSCCONbits.LOCK!=1) {};


2. dsPIC33FJ 系列沒有 Reference Frequency 的輸出腳位。所以只能透過 I/O 在 while( ) 回圈內 Toggle 運算用示波器量一下 I/O 輸出的頻率。
3. 使用 Timer 的 I/O Toggle 的測量

有一點很重要的就是要先確定 Fosc 的頻率是你需要的。

發表於: 2021/7/6 12:19
頂部


Re: ATSAMC21J18A 編譯錯誤
#99
版主
版主


" 我使用 MPLAB X IDE: V4.15 ,XC32: V2.50 "

謝謝 Darren 的提示,你的 MPLAB X IDE 太舊了,希望可以全部更新。

發表於: 2021/7/5 14:15
頂部


Re: dsPIC30F3011 RS232共地問題
版主
版主


RS-232 是屬於裝置對裝置的連線,這無關雙方裝置所使用的電源,因為 RS-232 有它自的硬體架構及基本的通訊協定。

RS-232 的輸出電壓是 +-9V ~ +-15V 。如果是使用 9-pin D-T
ype 接頭的話,那就是在 DTE 邊是 2-PIN 傳送,3-PIN接收,第 7-PIN 是共地,連線時要雙方要接接在一起才可以通訊。

要先搞清處 RS-232 誰是 DTE and DCE 這樣收發接線才不會誤接。

拜一下 Google 查一下。

發表於: 2021/7/4 14:50

Edited by Ryang on 2021年07月04日 16:02:47
頂部



« 1 ... 7 8 9 (10) 11 12 13 ... 1610 »



:::

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... ]

教育訓練中心

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