我的PSoC學習(二)(PSoC Creator 2.0+win7+CY8C38):一些PSoC學習手記

1.通過第一個閃爍LED我們可以知道,LED可以用PWM直接製造閃爍,或者用main函數循環來製造閃爍,相比之下,前者更優。而閃爍的頻率由PWM的時鐘來決定,比如時鐘是1kHz十分頻即100Hz,然後PWM是計數滿100循環一次的,也就是週期爲1s,而可以設置佔空比CMP value 1,此處的作用不明顯,因爲週期爲1s,閃爍太慢,如果將頻率提高,也就是循環一次的次數超過一定的量,則佔空比就能改變亮度了。因此可以使用函數PWM_WriteCompare1()來實現。當週期改爲4ms時,也就是時鐘1kHz,因此當週期達到毫秒級別的時候PWM就開始起作用來調整亮度了。

2.做一個呼吸燈看看。注意PWM_WriteCompare1(cnt);必須和前面的器件的名字PWM一致!PWM_1_WriteCompare1(cnt);則對應PWM_1。呼吸燈在延遲15ms,週期爲3.33ms,計數爲100份的時候效果不錯。

3.第二個例子讓我們知道LCD強大的功能,用於查看運行時變量非常方便。同樣電位器的使用以及ADC轉化也包含在第二個例子裏面。不過發現雖然是16位的函數ADC_DelSig_1_GetResult16(),然而每次返回的都是一個八位的結果,這開始以爲是因爲ADC_DelSig_1_IsEndConversion(ADC_DelSig_1_WAIT_FOR_RESULT);//轉換結果其實是8位的,那麼如果要轉化得到16位結果要如何操作呢?其實只要在圖形界面裏設置屬性就行了,而ADC_DelSig_1_IsEndConversion返回的只是低八位而已,其他的數據它不返回。

4.第三個例子包含了DAC,UART,以及DMA,真是非常豐富。UART沒什麼內容,先看看DAC,由於DMA的使用根本看不清楚DAC,所以還是先獨立DAC看看,通過DAC模擬電壓量來控制LED亮度和PWM來控制LED亮度到底有什麼區別呢?於是在第一個例子裏面加入DAC模塊,兩個燈放一起比一比看看。事實證明DAC更漂亮,因爲給出了範圍0x3D 和0x9F,一個是剛好看不見(而不是不亮),一個是飽和,而且其實是因爲正弦變化更好看。。。Orz,不過發現最大亮度0x9F並沒有100%佔空比的PWM亮,難道是因爲電壓的原因?FAQ裏面說是跟隨器的low power,但是我已經用了high power了(並不是strong power),結果就是這樣。於是我嘗試撥到5V(冒着燒板子危險。。。),結果發現PWM的燈更加亮了,而DAC的燈並沒有變亮(或者只變亮了一點點?),於是我懷疑0x9F有問題。明明能轉0xFF,爲啥就弄0x9F啊,很有問題!果然不出我所料!0xFF的DAC亮度和100%的PWM亮度一模一樣,不過後來的變化也不是非常明顯了,不過由此可見上界絕對不止0x9F。接下來就是DMA了,DMA用起來很麻煩,就是爲了直接從內存傳到DAC不經過CPU,關鍵是這個函數CyDmaTdSetAddress將內存傳到了DAC。值得一提的是最後那個Clock的使用,非常巧妙,首先正弦波一直在輸出,但是由於DMA受Clock的控制,clock受電位器的控制,所以旋轉電位器就能使得數據傳送的速度改變了,也就使得正弦波的週期改變了,非常的厲害。

5.第四個例子太牛了沒啥好說的,第五個例子使用了電容傳感器,非常新鮮,偶然發現了元件的跨工程複製粘貼功能,果然圖形界面很方便。然後靈敏度的問題FAQ裏面說了把5變成3,的確是靈敏了一些,但是還有更好的配置嗎?難道要一個一個去試?不過我就想不明白爲啥demo裏面不給出最靈敏的配置呢。。。

查了一些資料http://www.bubuko.com/infodetail-762337.html

capsense大致原理就是傳感器獲得外部電容值的大小然後減去內部基準得到一個差值,這個差值與設定的閾值比較,如果大於閾值就認爲有手指按動,否則判斷爲沒有按動,就這麼簡單。

內部基準起了個名字叫基線baseline。基線值的計算是在噪聲閾值下計算的,舉個例子,假如我設置的噪聲閾值是10,而現在環境中有噪聲,這些噪聲造成了即使在沒有點擊按鍵的情況下傳感器的讀數也不是0,而是大於0小於10的值,假設是5,那麼此時基線就會變成5,但是如果噪聲閾值仍然是10,但是噪聲較大,是20,那麼此時基線值是不會改變的,依然是0,而此時就會判斷爲有按動按鍵。

遲滯其實就是當外部電容增大的時候減去基線的差值自然也是增大的,增大到設定的閾值的時候並不會立即認爲有觸摸,而是需要大於閾值加遲滯值。而當外部電容減小到閾值下的時候也不會立即認爲沒有觸摸,而是需要小於閾值減去遲滯值,纔會認爲沒有觸摸。滯回比較器的原理啊。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章