|
PIC16F18456, Timer3 overflow as Timer1 clock source 問題請教
|
||||
|---|---|---|---|---|
|
高級會員
![]() |
我設置Timer3 2ms overflow並產生中斷時,可以看到 io toggle輸出,
取消Timer3中斷後,我在timer1 mcc 的設置中,設置 Clock Source並選擇Timer3 Overflow,好像沒作用? 我又試著把Timer3 Overflow 輸入到 CLC1 ,並令CLC 輸出在 raseing 時中斷, 也是可以看到 io toggle輸出,然後在timer1 mcc 的設置中,設置 Clock Source並選擇CLC1 output,但也是沒作用? 單獨將T1設置為FOS/4,是可以正常中斷並Toggle io輸出.. 請教先進..我少設定了什麼嗎?? 我想用timer來產生1hz ~ 1khz 的波形,以1/32Mhz(0.03125us)的週期為timer的clock輸入..看設置好像可以把timer結合..但timer1的clock source設置好像都不成功...
發表於: 2025/9/15 15:34
|
|||
|
||||
|
Alma UHT-DSC-D 想詢問相關問題?
|
||||
|---|---|---|---|---|
|
中級會員
![]() |
想請教在Microchip 原廠官網有看到Alma UHT-DSC-D
台灣原廠這邊是否有人可以詢問。 https://www.microchip.com/en-us/produc ... core-tools/alma-uht-dsc-d 謝謝。
發表於: 2025/9/2 8:58
|
|||
|
||||
|
PIC16F883,在MPLAB V8.92,中無法燒入,顯示訊息
|
||||
|---|---|---|---|---|
|
資深會員
![]() |
閉公司有一款產量較低的PCB,採用PIC16F883 MCU。已經有20幾年了,最近發現在MPLAB V8.92,中無法燒入(使用PICKIT3),顯示訊息
上星期我們從Microchip DIRECT上買了15PCS的PIC16F883來做測試,使用MPLAB V8.92+PICKIT3一樣有上述的錯誤,但使用LEAP的燒錄器,卻有3顆是可以正確燒入,放到目標板上是可以正確執行,其他12PCS和上述是一樣錯誤的情形,我想問一下,有人有過這樣的經驗或是該向Microchip的哪一個部門反應?
發表於: 2025/8/26 10:47
|
|||
|
||||
|
Re: PIC16F18144 MCC EEPROM設定問題
|
||||
|---|---|---|---|---|
|
高級會員
![]() |
謝謝回覆
我發現nvm.c生成之後,NVMCON2 這需要手動修改為0X55,0XAA。 NVMCON2 = 0x55;//unlockKeyLow; NVMCON2 = 0xAA;//unlockKeyHigh; 還有須手動加入 while (NVMCON1bits.WR){}延遲才能正常使用。 這部份是我MCC沒設定好還是有BUG呢? void EEPROM_Write(eeprom_address_t address, eeprom_data_t data) { //Save global interrupt enable bit value uint8_t globalInterruptBitValue = INTCONbits.GIE; //Access EEPROM NVMCON1bits.NVMREGS = 1; //Enable write operation NVMCON1bits.WREN = 1; //Load NVMADR with the EEPROM address NVMADRH = (uint8_t) (address >> 8); NVMADRL = (uint8_t) address; //Load NVMDAT with the desired value NVMDATL = data; //Disable global interrupt INTCONbits.GIE = 0; //Perform the unlock sequence NVMCON2 = 0x55//unlockKeyLow; NVMCON2 = 0xAA//unlockKeyHigh; NVMCON1bits.WR = 1; while (NVMCON1bits.WR) { } //Restore global interrupt enable bit value INTCONbits.GIE = globalInterruptBitValue; //Disable write operation NVMCON1bits.WREN = 0; }
發表於: 2025/8/22 10:13
|
|||
|
||||
|
Re: PIC16F18144 MCC EEPROM設定問題
|
||||
|---|---|---|---|---|
|
管理員
![]() |
a780917a 你好,
可以參考 PIC16F18144 datasheet 的 EEPROM 、 Data Flash Memory 、NVM和 NVMREG Access 相關章節來了解如何訪問 EEPROM。 ![]() ![]() ![]() ![]() 關於使用 MCC 產生的函式來訪問 EEPROM , 可以參考 datasheet 的 NVMREG Access 的 EEPROM 欄位來了解可指定的地址範圍: ![]() Attach file: Data EEPROM Memory.jpg (144.24 KB) Data Flash Memory (DFM).jpg (160.08 KB) NVMREG Read Operation.jpg (101.20 KB) NVMREG Write to DFM.jpg (117.04 KB) EEPROM.jpg (70.06 KB)
發表於: 2025/8/21 15:48
|
|||
|
||||
|
Re: PIC UART 接收資料是否能反向?
|
||||
|---|---|---|---|---|
|
管理員
![]() |
players 你好,
PIC16F1936 支援透過 BAUDCON.SCKP 來反向UART傳送端的行為(Asynchronous mode) ,詳請可以參考 PIC16(L)F193X Datasheet的293頁和第302頁。 如果需要在接收端需要反向資料,可以加入外部反向器或是參考 PIC18FxxK42 系列、PIC18-Q系列、或其他較新的微控制器產品,來支援TX/RX的資料反向傳送接收的功能。
發表於: 2025/8/20 10:52
|
|||
|
||||
|
PIC UART 接收資料是否能反向?
|
||||
|---|---|---|---|---|
|
新會員
![]() |
PIC16F1936 在資料上只查到TX可以反向,沒找到RX反向的設定。
STM32 TX,RX都可以反向,不知道PIC有沒有這功能?
發表於: 2025/8/20 9:30
|
|||
|
||||
|
PIC16F18144 MCC EEPROM設定問題
|
||||
|---|---|---|---|---|
|
高級會員
![]() |
PIC16F18144 規格書寫有Data EEPROM (bytes):256
在MCC選取使用時Memory 裡的EEPROM似乎只能與I2C一起用? 設定選項裡出現 Hardware Settings Device Density Page Write Buffer 但我只想單純使用EEPROM 該怎麼設定呢? 選擇ON-chip : NVM後 eeprom.c裡的 eeprom_address_t 與EEPROM_Write(), EEPROM_Read() 沒有被自動定義,該怎麼修改呢? bool EEPROM_ByteWrite(uint32_t address, uint8_t *data) { uint8_t getData = *data; eeprom_address_t writeAddress = (eeprom_address_t) (address); NVM_UnlockKeySet(UNLOCK_KEY); EEPROM_Write(writeAddress, getData); NVM_UnlockKeyClear(); while (NVM_IsBusy()); if (NVM_StatusGet() == NVM_OK) { return true; } else { NVM_StatusClear(); return false; } } bool EEPROM_ByteRead(uint32_t address, uint8_t *data) { eeprom_address_t readAddress = (eeprom_address_t) (address); *data = EEPROM_Read(readAddress); return true; }
發表於: 2025/8/18 15:35
Edited by a780917a on 2025年08月18日 15:59:13
|
|||
|
||||
|
Re: 文字太長 被X IDE 拆2行
|
||||
|---|---|---|---|---|
|
新會員
![]() |
原來是 X IDE的設定在VScode裡就是會在80列的位置換行,如果不吃X IDE的設定 VScode是可以設定在120列換行。
發表於: 2025/8/18 9:23
|
|||
|
||||