advertisement
2014年12月29日
七段與MINIKEY應用控制 8051 assembly
;------------------------------------------
; ===================================
; == 七段與MINIKEY應用控制 ==
; == 2014/12/29 ==
; == 蘇偉諺 4A037052 ==
; ===================================
;------------------------------------------
; 以MINIKEY的4個按鍵來控制七段顯示器的動作,按S1、S2、S3、S4分別顯示“┌” 、 “┐” 、“└” 、“┘”。;-----------------------------------------------------------------------------
; ===================================
; == 七段與MINIKEY應用控制 ==
; == 2014/12/29 ==
; == 蘇偉諺 4A037052 ==
; ===================================
;------------------------------------------
; 以MINIKEY的4個按鍵來控制七段顯示器的動作,按S1、S2、S3、S4分別顯示“┌” 、 “┐” 、“└” 、“┘”。;-----------------------------------------------------------------------------
喇叭與MINIKEY應用控制 8051 assembly
;------------------------------------------
; ===================================
; == 喇叭與MINIKEY應用控制 ==
; == 2014/12/29 ==
; == 蘇偉諺 4A037052 ==
; ===================================
;以MINIKEY的4個按鍵來控制喇叭,按S1、S2、S3、S4分別讓喇叭發出1kHz、2kHz、4kHz、8kHz聲響。
; ===================================
; == 喇叭與MINIKEY應用控制 ==
; == 2014/12/29 ==
; == 蘇偉諺 4A037052 ==
; ===================================
;以MINIKEY的4個按鍵來控制喇叭,按S1、S2、S3、S4分別讓喇叭發出1kHz、2kHz、4kHz、8kHz聲響。
七段應用控制 8051 assembly
;------------------------------------------
; ===================================
; == 七段應用控制 ==
; == 2014/12/29 ==
; == 蘇偉諺 4A037052 ==
; ===================================
;------------------------------------------
;依序點亮七段顯示器的燈管a、燈管b、燈管c…燈管g;點亮的同時依序閃爍1次、2次、3次…7次。
; ===================================
; == 七段應用控制 ==
; == 2014/12/29 ==
; == 蘇偉諺 4A037052 ==
; ===================================
;------------------------------------------
;依序點亮七段顯示器的燈管a、燈管b、燈管c…燈管g;點亮的同時依序閃爍1次、2次、3次…7次。
2014年12月26日
2014/12/26進階微控制器應用
需下載
FreeRTOS v7.6.0程式源碼
在source資料夾
list.c
task.c
在source/portable/SDCC/Cygnal/資料夾=>for 8051
FreeRTOS v7.6.0程式源碼
在source資料夾
list.c
task.c
在source/portable/SDCC/Cygnal/資料夾=>for 8051
2014年12月21日
2014年12月19日
Debian WPA Wireless how to use
# vi /etc/network/interfaces
auto eth1
iface eth1 inet dhcp
wpa-ssid [EESID]
wpa-psk [passowd key]
# ifup eth1
root@Lenovo-B480:/home/clementyan# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_req=1 ttl=46 time=11.7 ms
64 bytes from 8.8.8.8: icmp_req=2 ttl=46 time=12.8 ms
64 bytes from 8.8.8.8: icmp_req=4 ttl=46 time=12.5 ms
auto eth1
iface eth1 inet dhcp
wpa-ssid [EESID]
wpa-psk [passowd key]
# ifup eth1
root@Lenovo-B480:/home/clementyan# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_req=1 ttl=46 time=11.7 ms
64 bytes from 8.8.8.8: icmp_req=2 ttl=46 time=12.8 ms
64 bytes from 8.8.8.8: icmp_req=4 ttl=46 time=12.5 ms
2014/12/19 進階微控制器應用
http://static.grumpycoder.net/pixel/uC-sdk-doc/index.html
新的TCB均需加入工作就緒列表(pxReadyTaskLists),如果是第一個工作,則就需被執行,否則需等待排程。
建立一個新的TCB主要是初化TCB堆疊區,回顧TCB之資料結構
2014年12月16日
Debian 64位元作業系統 裝 32位元套件 安裝 skype
# dpkg --add-architecture i386
# apt-get update;apt-get upgrade# apt-get install ia32-libs
此行只限於wheezy squeeze,jessie不用裝--2015/06/08
# dpkg -i skype-debian_4.3.0.37-1_i386.deb
# apt-get install -f
# dpkg -i skype-debian_4.3.0.37-1_i386.deb
# apt-get install pulseaudio
$ skype &
若還是不行試試下面的指令
$ LD_PRELOAD=/usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1 skype &
2016/05/27
2014年12月12日
2014/12/12 進階微控制器應用
主要記憶體有二
- stack堆疊-儲存區域變數、全域變數=>managed(受管理的),無記憶體洩漏(編譯時已知道的變數)
- heap記憶堆-儲存動態變數(大量)使用malloc(配置),free(釋放),使用過後需要把他free釋放,否則造成記憶體洩漏(編譯時不知道的變數)
freeRTOS有三種記憶體堆
- keap_1只配置不釋放(適合當你的應用程式是固定的動態記憶體,或者已經知道最多所需使用的動態記憶體微多少)
- keep_2可配置可釋放,使用簡易方法執行配置、釋放,可能會造成記憶體碎斷(fragmentation):假設第一筆資料100bytes,第二筆50bytes,第三筆30bytes,若第二筆被釋放,則要在新增大於50bytes的資料,則會無法放入,只能放置在第三筆之後,稱記憶體碎斷,使記憶體存取速度下降,則需使用記憶體重整。
- keep_3完整之配置釋放,並且會記憶體重整,較常用較耗時
2014年12月5日
2014/12/05 進階微控制器應用
critical section(緊要區):當程式進入緊要區時有兩種可能(該區程式不可太長),目的:希望緊要區內的程式不被其他程式打斷
- 所有中斷被除能(disable)
- 部份中斷被除能(需包含系統滴答中斷的除能,則不會文本切換),保留部份硬體中斷仍可致能,被致能之中斷需能被控制到不切割緊要區之程式,程式進入緊要區後,執行緊要區程式後,要離開緊要區時,需重新致能被除能之中斷
2014年11月28日
2014/11/28 進階微控制器應用
Counting Semaphore 計數信號 (為具有長度大於一之佇列,ㄧ次可以傳好幾個)
Binary Semaphore 二元信號(是長度為一之佇列,且ㄧ次只能傳一個資料,而資料內容不care)
為什麼要用到計數信號?
Binary Semaphore 二元信號(是長度為一之佇列,且ㄧ次只能傳一個資料,而資料內容不care)
為什麼要用到計數信號?
2014年11月11日
Speed up flash games chrome
1. Please download Cheat Engine version 6.2, don't download the latest version, because the latest version may be unstable.
- CheatEngine62.exe is malicious, and Chrome has blocked it.
2014年11月9日
2014年10月31日
2014年10月24日
2014/10/24進階微控制器應用
vTaskDelay(延遲時間)從他呼叫開始計時
vTaskUntil(上次Task開始時間,延遲時間)從上次Task開始時間計時
Task2(void *ptr) {
.//假設中間程式碼需50Ticks
.
vTaskDelay(100);
}
Task1(void *ptr) {
取得執行開始時間
.
.//假設中間程式碼需50Ticks
vTaskUntil(開始執行時間,100);
}
時序圖如下:
vTaskUntil(上次Task開始時間,延遲時間)從上次Task開始時間計時
Task2(void *ptr) {
.//假設中間程式碼需50Ticks
.
vTaskDelay(100);
}
Task1(void *ptr) {
取得執行開始時間
.
.//假設中間程式碼需50Ticks
vTaskUntil(開始執行時間,100);
}
時序圖如下:
2014年10月17日
2014年10月3日
2014/10/03 進階微控制器應用
- 至MY數位學習下載Posix_GCC_Simulator_6.0.4.zip
- cd micro,在~/micro 下解壓縮
- unzip ~/下載/Posix_GCC_Simulator_6.0.4.zip
- 在~/micro 下 cd Posix_GCC_Simulator/FreeRTOS_Posix/Release/
- 在~/micro/Posix_GCC_Simulator/FreeRTOS_Posix/Release/ 執行make
2014年9月26日
2014/09/26進階微控制器應用
--------------------------------------------------------------
第一節
RTOS即時作業系統
以Task(工作)為主
每個Task(工作)基本上為一無窮執行的函數(副程式)
為了要使進入無窮迴圈能在跳出來,故我們要使用Context(文本)
每種微控制器之文本可能有些微之差異,但基本必具有:
第一節
RTOS即時作業系統
以Task(工作)為主
每個Task(工作)基本上為一無窮執行的函數(副程式)
為了要使進入無窮迴圈能在跳出來,故我們要使用Context(文本)
每種微控制器之文本可能有些微之差異,但基本必具有:
訂閱:
文章 (Atom)