/***************************************************************************//**
* @brief Converts a float value to a character array with 3 digits of accuracy.
*
* @param *buf - returns the converterd value
* @param val - value to be converted
*
* @return None.
*******************************************************************************/
void FloatToString(char * buf, double val)
{
long intPart = 0;
short fracPart = 0;
short charPos = 0;
char localBuf[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
short i = sizeof(localBuf) - 1;
intPart = (long)val;
fracPart = (short)((val - intPart) * 1000 + 0.5);
while(i > sizeof(localBuf) - 4)
{
localBuf[i] = (fracPart % 10) + 0x30;
fracPart /= 10;
i--;
}
localBuf[i] = '.';
if(intPart == 0)
{
i --;
localBuf[i] = '0';
}
while(intPart)
{
i --;
localBuf[i] =(intPart % 10) + 0x30;
intPart /= 10;
}
for(charPos = i; charPos < sizeof(localBuf); charPos ++)
{
*buf = localBuf[charPos];
buf ++;
}
*buf = 0;
}
2017年11月22日 星期三
PADS CAM Directory過多路徑刪除方法
可以在C:\MentorGraphics\9.5PADS\SDD_HOME\Programs底下的powerpcb.ini以文字編輯器開啟,搜尋[CAMDirExt],將底下的路徑刪除即可
-
按鍵反彈跳設計 按鍵開關在MCU的程式設計中初學者通常會遇到一個問題,就是按鍵彈跳現象,原因由於按鍵屬於機械結構,按下時會有機械彈跳的狀況出現,通常會讓判定按鍵的動作出現BUG,因此在程式當中或者硬體上須作處理才能消除彈跳的現象,下圖為量測按鍵按下時的彈跳現象,可以看出在10...
-
在使用ADC過程當中,解析度是一個用來表示ADC性能的指標,其計算方式可以透過如下方程式表示 : 1LSB = VREF / (2^n - 1), VREF為ADC的參考電壓, n為表示解析度的位元數,假設使用10-bits ADC, ADC參考電壓為5V, 可以計算1LSB =...
-
你想用熱敏電阻偵測溫度嗎?你想用微控制器做熱敏電阻的讀取並顯示溫度嗎? 由於Edison在出社會第一份從事電子的工作的公司就是專門生產體溫計的公司,既然了解其中一點東西,出社會這麼久了,也該分享一些東西讓有需要的人可以取得資訊的來源,加速學習過程,本篇文章幫大家介紹如何使用微控...