/***************************************************************************//**
* @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...
-
曾經在一個產品的試產階段,發現IC Chip die(裸晶)做bonding(打線)完後回來的產品有一堆故障,因為當時是冬天,也不確定IC打線製程定沒問題,這時候想到IC的I/O port都有設計ESD protection diode,這時候電表的功用來了,直接用電表二極體檔位...
-
你想用熱敏電阻偵測溫度嗎?你想用微控制器做熱敏電阻的讀取並顯示溫度嗎? 由於Edison在出社會第一份從事電子的工作的公司就是專門生產體溫計的公司,既然了解其中一點東西,出社會這麼久了,也該分享一些東西讓有需要的人可以取得資訊的來源,加速學習過程,本篇文章幫大家介紹如何使用微控...