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

論壇索引


Board index » All Posts (IOP14759)




Re: 25LC256的WREN功能請教
#1
新會員
新會員


我改用
0x05+8CLK
0x06
0x05+8CLK
0x02+address+DATA
0x05+8CLK

我發現Write Enable Latch (WEL)在0x06之後等於1
在0x02+address+DATA之後等於0
所以每次寫入DATA前必須下一次0x06
有什麼辦法可以只下一次就好嗎?
因為我每次寫入4個DATA,我要多下好幾次0x06,寫入的時間就變很長

發表於: 2023/7/12 15:27
頂部


25LC256的WREN功能請教
#2
新會員
新會員


我目前使用25LC256
我的WP和HOLD都是接上拉電阻到VCC沒使用

然後我嘗試寫入資料讀取資料時發現

如果我是(空一行代表CE回到high)
0x06
0x02+0x0000+4筆DATA
0x02+0x0004+4筆DATA
0x02+0x0008+4筆DATA
0x02+0x000C+4筆DATA
這樣寫資料再去讀發現,只有address0x0000~0x0003能寫入,後面0x0004~0x000F都沒有寫進去

我必須改成(空一行代表CE回到high)
0x06
0x02+0x0000+4筆DATA
0x06
0x02+0x0004+4筆DATA
0x06
0x02+0x0008+4筆DATA
0x06
0x02+0x000C+4筆DATA
每次寫DATA錢我都送一次Write Enable的指令才能正常的全部寫入

但是我中間明明都沒有下達Write Disable的指令,為什麼會這樣?

還是我搞錯SPEC的意思了?本來就應該用後面那種寫法?

發表於: 2023/7/12 14:17
頂部


Re: PIC16F877A,為什麼用For迴圈會出現問題?
#3
新會員
新會員


我想要請教的是,為什麼RC1在輸出時固定在1.1mS會有延遲

是硬體架構還是編譯器導致的?

發表於: 2023/3/15 17:06
頂部


Re: PIC16F877A,為什麼用For迴圈會出現問題?
#4
新會員
新會員


補充一下,已知error時間點是在1mS左右,加一段2mS的Delay

原本的DATA會有error,但是現在避開出現error的時間點就正常了

所以可以證明這一個現象是跟著時間走,跟程式沒有任何關係

https://imgur.com/LA1bRLQ

發表於: 2023/3/10 17:21

Edited by IOP14759 on 2023年03月10日 17:59:20
Edited by IOP14759 on 2023年03月10日 18:00:25
頂部


Re: PIC16F877A,為什麼用For迴圈會出現問題?
#5
新會員
新會員


補充一下

我有修改程式,將副程式直接拿掉只剩基本的程式,中斷部分也簡化到直接計數

https://imgur.com/2B4uJJ5
https://imgur.com/YdxcHHS
https://imgur.com/BOPMKZP

現在只跑下列這一部份,但還是會出現同樣的問題
https://imgur.com/iXyGDC8
st:
if(ck==32)
{
for(i=0;i<50;i++)
{
for(j=0;j<24;j++)
{
RC1=1;NOP();NOP();NOP();RC1=0;NOP();NOP();NOP();
}
}
ck=0;
}
goto st;

我已經簡化到無法再簡化了,感覺想不出到底哪裡有問題

發表於: 2023/3/10 16:17
頂部


Re: PIC16F877A,為什麼用For迴圈會出現問題?
#6
新會員
新會員


非常感謝您的回覆,我好像搞錯問題了,非常抱歉
可以看到這個突然變長的時間
https://imgur.com/p1J2jQF
https://imgur.com/aWW9wQh
是固定出現在1.15mS附近

所以其實跟我怎麼修改都無關,是我不知道怎麼寫的程式導致固定在這個時間會有一個延遲

但是就很奇怪,我不斷重複檢察我的程式,因為整體架構非常簡單,我完全找不到這個狀況是怎麼發生的

基本上程式都是在st這個循環裡,但我還是沒看出有什麼地方會固定在1.15mS的時候延遲
(我SPI Dongle送完一次32bit命令後就停止了,所以暫時排除是中斷造成的)
st:
if(ck==32)//等待SPI DONGLE收滿32BIT,順便將每一個CLK收到的DATA放到data[]陣列中
{
BIN_TO_DEC();//把data_bit[24~31]=pcs
SEND_CODE(); //RC1送出0或1
ck=0;//CLEAR
}
goto st;


抱歉我發現.C檔貼到論壇上會顯示怪怪的,我把程式分別截圖重新上傳
設置
https://imgur.com/nyd2391
主程式
https://imgur.com/Pb4q4il
中斷
https://imgur.com/cR08tQ3
副程式
https://imgur.com/rESzClQ
https://imgur.com/1HUemyo

因為邏輯分析儀是勾在RC1,RC1要觸發需要進到SEND_CODE()副程式才會有將RC1=1的動作,所以我只能猜在SEND_CODE()副程式裡有出錯,但是現在回頭一看感覺SEND_CODE()副程式並沒有錯,但是其他地方我也實在找不出問題,就算中斷有問題也需要中斷達到32次才會影響程式吧?

發表於: 2023/3/10 10:19

Edited by IOP14759 on 2023年03月10日 10:40:20
Edited by IOP14759 on 2023年03月10日 10:41:24
Edited by IOP14759 on 2023年03月10日 10:42:59
Edited by IOP14759 on 2023年03月10日 10:48:20
頂部


PIC16F877A,為什麼用For迴圈會出現問題?
#7
新會員
新會員


震盪是20Mhz,所以一次RC1=1應該是200nS
我要控制其他LED產品,該產品每顆LED就要送24bit

所以我用了兩個for迴圈
最外面的迴圈i是顆數,裡面的迴圈j是24個bit
然後每bit都會判斷是0或1來輸出一個高電位給RC1
https://imgur.com/lnSHLEa

我的主程式就只是收完CODE之後決定24bit分別是多少,然後有幾顆LED要重覆幾次
https://imgur.com/M2bXN8W

為了數起來方便,我每24個bit前面8bit是bit"1",後面16bit是bit"0",重復48顆LED
我PIC的RC1直接勾邏輯分析儀得到這個錯誤
https://imgur.com/p1J2jQF
可以看到,在迴圈跑到i=10,j=18這個地方,很明顯RC1在低電位突然比其他的bit還長
可是我明明是用For迴圈,照理說應該是要每個bit都一樣

而且這個突然比其他bit長的有時候會出現在我高電位的時候
因為我要控製的產品對低電位要求不大
但是只要高電位一出現這個問題,整個指令就都亂掉了,因為產品內部是去計數高電位的時間來判斷是0或1

我目前只能先把迴圈j改成這樣
https://imgur.com/g3olKNU
直接複製bit的判斷式24次

再勾邏輯分析儀才表現正常
https://imgur.com/S8BWEcB

但是這個方法總覺得不是長久之計,想問看看這問題可能發生在哪裡

發表於: 2023/3/3 13:45
頂部


a/d轉換請教
新會員
新會員



發表於: 2018/3/19 15:28
頂部



(1) 2 »



:::

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

教育訓練中心

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