公告版位
從小害怕寫作文, 文筆不佳到現在, 還請各位讀者大大:
1. 發現有錯誤, 請留言告知. (或者你 '覺得' 不對也行)
2. 用字措辭不當, 請留言告知.
3. 有看沒有懂? 幫到忙也好, 幫倒忙也罷, 總之留個言吧.

微軟的 Win10 免費昇級就要在 07/29 結束了. 糾纏了一年的 Win10 免費昇級總該清一清了. (2016/10/27) 印象中微軟在免費升級活動結束後, 好像有提供移除右下方 "免費升級" 圖示的更新. 如果您的機器不巧沒清除掉, 還有渣渣留著, 下面的方法可以試一下.

這一篇主要的材料來自 [教學]10秒內永久移除Windows10提醒免費升級訊息方法


自從 Win10 推出以來, 大部份人螢幕的的右下方都出現了提示用戶有 "免費升級取得 Win10" 的小方塊, 對於我這種對微軟不是很有信心, 就是不想用最新版本的人來說, 它還真的是有夠煩. 一開始想說, 應該很容易就可以把它移除掉吧? Google 大神一定會對眾多善男信女有所回應才是, 結果是竟然找不到, 大家都說微軟太邪惡, 暫時沒辦法.

文章標籤

MagicJackTing 發表在 痞客邦 留言(0) 人氣()

今天回頭看了一下自己的部落格貼文, 發現有些地方寫錯了. 原本想要直接修改, 後來想了想, 覺得不妥, 於是改用刪除線把錯的地方槓掉, 再用不同的顏色標明新增的修正. 但是刪除線在原本的文章中很不明顯, 於是想到用雙刪除線, 查了一下 W3School 卻發現 CSS 中沒有雙刪除線這東東...

於是又花了半天, 好不容易才試出來. 這種作法有幾個好處:

  1. 支援跨多行的刪除線, 也可以在項目列表中使用. (我在 Google 中找到好多不同的作法, 都是不支援跨行, 或者沒辦法在 <ul><li><ol><li> 底下使用的).
  2. 利用原本 <del> tag 的功效, 即使用 CSS 設定失效時, 依然可以有單刪除線.
  3. 刪除線不因字體大小而徧移位置.
  4. 刪除的部份為一個整體, 不會因刪除內容有上標字或下標字而分段 (高低不同).

下例中的 .article-content-inner 是因為要在痞客邦中使用才加上去的. 第 22 行是使用的例子. (用 <del><span class='del'> 把要刪除的文字括住即可)

文章標籤

MagicJackTing 發表在 痞客邦 留言(0) 人氣()

Windows 雖然自 XP 推出以後, 當機的機會就少了許多, 但卻還是有些負作用, 就是檔案總管常常莫名奇妙就掛掉了, 然後接著出現重新啟動檔案總管. 大部份狀況下應該都還可以正常使用, 不過有時候中文輸入法就是會無法切換. 如果你有注意到的話, 這個時候語言列 (輸入法的狀態列) 應該是不見了.

解決方法很簡單, 找到負責切換輸入法的程式 ctfmon.exe 再執行一次就好了.

你可以

  • C:\Windows\System32 目錄中找到它, 找到以後滑鼠點擊兩下就可以了.
  • 點選 "開始", 在 "尋找" 輸入欄中輸入 ctfmon 也可以找到它.
這個方法 XP, Vista, Win7, win8, Win10 都有效.
文章標籤

MagicJackTing 發表在 痞客邦 留言(1) 人氣()

隨著科技的演進, 在單晶片微控制器及 SoC 的領域中, SPI 及 I2C 這二種串列 (序列) 介面變得十分常見. 這二者與主機間通訊用的非同步串列通訊埠 RS-232 (UART) 非常不一樣

  • 二個都是同步傳輸介面, 主要是用於 CPU 和週邊晶片之間.
  • SPI 及 I2C 二者設計的主要目的在於減少 CPU 和週邊晶片之間的接腳數.
  • SPI 一般需要 4 條接線 (至少三條), 而 I2C 則只要二條線, 這和早期常用的並列匯流排動輒十數條接線有著明顯的差異.
  • SPI 的硬體結構簡單而且傳輸速度快, 一般是 5M/10M/20Mbps 或是更快 (可以到 200Mbps), I2C 的傳輸速度則只有 100Kbps/400Kbps/1Mbps(/3.4Mbps/單向5Mbps).
  • SPI 是全雙工, I2C 則是半雙工

另外二篇介紹串列 (序列) 傳輸的文章:



本篇介紹的是 I2C 介面

文章標籤

MagicJackTing 發表在 痞客邦 留言(51) 人氣()

最近工作忙些, 幾個月沒空更新部落格, 今天抽空記錄一下 用 VMware 安裝測試 MAC OS X 的狀況.

用 VMware 安裝及測試 MAC OS X


首先, 如果你沒有用過 VM, 先要有個心理建設: "天下沒有白吃的午餐".
怎麼說呢? 使用 VM

文章標籤

MagicJackTing 發表在 痞客邦 留言(61) 人氣()

I2C Bus 提昇電阻之計算


I2C Bus 和 SPI 一樣也是主從式架構, 不過它不同於 SPI 的點對點或點對多點結構, 它是以匯流排型式介接, 同時匯流排上允許有多個 master (主設備) 和多個 slave (從設備). 介接方法如下圖所示:

I2C Bus

I2C 介接圖

文章標籤

MagicJackTing 發表在 痞客邦 留言(2) 人氣()

寫 C 程式時偶而會遇到函數的原型宣告多設了一些暫時沒有用到的參數, 一般狀況下只要修改一下標頭檔中的宣告以及實際 C 函數的定義就好了. 不過偶而也會遇到不能改的情形, 例如:

  • 套用某些框架系統時, 函數的原型宣告是框架系統提供的. (一改大概框架系統就不用升版了)
  • 使用函數庫中某個函數的 call back, 而函數庫改不動, 或者沒原始程式, 沒得改.
  • 在開發 embedded system 時, 我們需要實作或者改寫一些函數以取代 C 編譯器的一些預設行為, 例如: Keil ARM/MDK 中要把 printf() 改輸出到 SoC 的 UART.

下面一些方法可以在無法修改函數的原型宣告時, 把 C 編譯器對未使用的函數參數之告警消除.

  • 方法一: 大部份的 C 編譯器應該都可以適用.
  • #define UNUSED(x) ( (void)(x) )
    
    void f(int x, int y) {
            UNUSED(x);
            ...
    }
    
文章標籤

MagicJackTing 發表在 痞客邦 留言(5) 人氣()

正常狀況下網頁中的 <sub><sup> 應該都是可以正確顯示為上標字及下標字. 不過偶而也會有不正常的時候, 例如: 痞客邦部落格的手機模式頁面, 預設的樣式不小心就把 <sub><sup> 的字高和其他所有的元素都設成一樣了, 所以就看不出上下標字了.

上下標字最基本的樣式設定是:

  • 把字型大小 (font-size) 縮小一些, 一般的字型大小下設成 65% ~ 70% 應該都是可以接受的.
  • 再來是文字的垂直位置 (vertical-align), 上標字應該用 "super", 下標字應該用 "sub".
  • 還有一個常常會被遺漏的, 行高 (line-height). 由於行中有上下標字時瀏覽器會動態的更動那一行的行高, 所以文章段落看起來就會有一組行距看起來和其他的不一樣. 要避免這一個狀況只要把上下標字的行高設成 0 就可以了.

下面這一段是我加在自己部落格的樣式檔中. (裡面的 !important 是為了要強制覆蓋掉痞客邦預設的設定)

文章標籤

MagicJackTing 發表在 痞客邦 留言(1) 人氣()

隨著科技的演進, 在單晶片微控制器及 SoC 的領域中, SPI 及 I2C 這二種串列 (序列) 介面變得十分常見. 這二者與主機間通訊用的非同步串列通訊埠 RS-232 (UART) 非常不一樣

  • 二個都是同步傳輸介面, 主要是用於 CPU 和週邊晶片之間.
  • SPI 及 I2C 二者設計的主要目的在於減少 CPU 和週邊晶片之間的接腳數.
  • SPI 一般需要 4 條接線 (至少三條), 而 I2C 則只要二條線, 這和早期常用的並列匯流排動輒十數條接線有著明顯的差異.
  • SPI 的硬體結構簡單而且傳輸速度快, 一般是 5M/10M/20Mbps 或是更快 (可以到 200Mbps), I2C 的傳輸速度則只有 100Kbps/400Kbps/1Mbps(/3.4Mbps/單向5Mbps).
  • SPI 是全雙工, I2C 則是半雙工.
  • SPI 使用硬體線路來指定 slave 晶片, I2C 則在傳送的第一個位元組上指定 (7bit位址).
  • SPI 不提供交握機制, 無法確認 slave 晶片是否有跟上. I2C 則有雙向的確認機制.

本篇介紹的是 SPI 介面



SPI 簡介


SPI 是 Serial Peripheral Interface 的縮寫, 中文意思是串列週邊介面, 該介面是由 Motorola 公司設計發展的高速同步串列介面, 原先是應用在其 68xx 系列的 8 位元處理器上 (1985 年首次出現在 M68HC11 處理器上, 並提供了完整之說明文件), 用以連接 ADC, DAC, EEPROM, 通訊傳輸 IC...等週邊晶片. 由於具備有低接腳數, 結構單純, 傳輸速度快, 簡單易用...等特性, 目前已經成為業界慣用標準: 不只是單晶片微控制器上有, 許多新的 SoC 晶片直接就支援多組 SPI 介面, 甚至普及到連模組化的產品 (如: 手機用的 LCD 模組 (SDI 介面), 相機模組) 及 3C 產品 (如: 數位相機用的記憶卡) 也都是使用 SPI 介面.

文章標籤

MagicJackTing 發表在 痞客邦 留言(39) 人氣()

假設有一個 16bit 硬體計時/計數器 (Timer/Counter) 負責計數外部的訊號. 所以我們直覺的反應是某一段時間之內的訊號個數是本次讀取的計數值減掉上次讀取的計數值, 像這樣 Count = ValCurr - ValPrev. 但是如果上次讀取的內容已經接近上限了 (例如: 65530), 而這一次讀到的內容已經溢位變成一個很小的數值 (例如: 5) 呢?

當下你可能會想到下列幾個:

  • 改用 32bit 來處理.
  • 65536 - (大值 - 小值)
  • ...

其實沒那麼麻煩, 答案很簡單依然是 Count = ValCurr - ValPrev, 只不過記得要用 uint16_t (或者 unsigned short) 來定義這些變數.

文章標籤

MagicJackTing 發表在 痞客邦 留言(0) 人氣()

Close

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

reload

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼