照搬原子哥的代碼:http://www.openedv.com/posts/list/17347/htm
原子哥的教程有比較詳細的注釋和網友回復,這里僅作記錄
這是基于IAR的,原子哥的帖子下面有網友回復的STVD的
main.c
#include "stm8l15x_conf.h"
volatile u8 fac_us=0;
void delay_init(u8 clk)
{
if(clk>16)fac_us=(16-4)/4;
else if(clk>4)fac_us=(clk-4)/4;
else fac_us=1;
}
void delay_us(u16 nus)
{
__asm(
"PUSH A n" //1T,壓棧
"DELAY_XUS: n"
"LD A,fac_us n" //1T,fac_us加載到累加器A
"DELAY_US_1: n"
"NOP n" //1T,nop延時
"DEC A n" //1T,A--
"JRNE DELAY_US_1 n" //不等于0,則跳轉(2T)到DELAY_US_1繼續執行,若等于0,則不跳轉(1T).
"NOP n" //1T,nop延時
"DECW X n" //1T,x--
"JRNE DELAY_XUS n" //不等于0,則跳轉(2T)到DELAY_XUS繼續執行,若等于0,則不跳轉(1T).
"POP A n" //1T,出棧
);
}
void delay_ms(u32 nms)
{
u8 t;
if(nms>65)
{
t=nms/65;
while(t--)delay_us(65000);
nms=nms%65;
}
delay_us(nms*1000);
}
void Sysclk_Init(void)
{
//HSI內部時鐘,0分頻,16MHZ
CLK_HSICmd(ENABLE);
CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSI);
CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);
}
void main(void)
{
Sysclk_Init();
LED_Init();
//Uart1_Init();
delay_init(16); //參數16為內部時鐘頻率
while (1)
{
GPIO_ToggleBits(LED1_Port, LED1_Pin);
delay_ms(15);
}
}
注1:之前用定時器2延時,每1s串口打印信息一次,用 調試助手看的時間戳會差10ms左右,以為 是我寫的定時器配置的有問題,用了上面的延時之后發現是一樣的,不知道是不是執行一句printf();需要10ms。
注2:上面的延時不知道怎么用示波器測量,所以就測量了下 反轉LED的頻率,發現延時15ms的情況下,測量出來的一個周期是29.7ms,延時應該算是準確的吧。
上一篇:STM8時基單元
下一篇:STM8l051,新建工程
推薦閱讀
史海拾趣
Denyo Europa Gmbh公司在電子行業中嶄露頭角,始于一次技術創新的突破。公司研發團隊經過數年的努力,成功開發出一種新型高效能電池技術,這種電池不僅容量大,而且充電速度快,安全性能高。這一技術的推出,迅速贏得了市場的認可,也為公司帶來了可觀的收益。公司因此逐漸在電子行業中建立了自己的技術領先地位。
為了進一步滿足市場需求,G24i在英國威爾士卡迪夫建成了世界上第一條25MW的大規模生產基于鈦襯底的DSSC基地。這一基地的建成標志著G24i在DSSC領域實現了從研發到生產的全鏈條覆蓋。大規模生產不僅降低了產品的制造成本,也提高了生產效率和質量穩定性。G24i通過不斷優化生產流程和提升管理水平,確保了產品的市場競爭力。
在通信行業,技術的不斷創新和產品的持續升級是企業保持競爭力的關鍵。康普公司一直注重研發和創新,不斷推出具有競爭力的新產品和解決方案。例如,在2004年,康普成立了CCS(連接解決方案)工廠,主要生產寬帶同軸電纜、網絡對絞線纜以及銅和光纖連接器系列產品。這些產品不僅滿足了市場對于高速、高質量網絡連接的需求,也進一步鞏固了康普在通信行業的領先地位。
隨著全球對環保和可持續發展的關注度不斷提高,Elite也積極響應這一趨勢。公司注重環保理念在生產過程中的貫徹實施,采用環保材料和節能技術,減少生產過程中的污染排放。同時,Elite還積極參與環保公益活動,推動環保理念的普及和實踐。這些努力不僅提升了公司的社會形象,也為公司的可持續發展奠定了堅實基礎。
安華高(Avago)科技公司在2008MTT-S國際微波研討會上發布最小的RF放大器。新一代VMMK-2x03放大器是微型0402的包裝尺寸,并且沒有線接頭,信號損失幾乎為零,寄生效應也最小。它的超小尺寸完全符合SMT設計,使其頻率優化到500MHz到12GHz,因而這些高 ...… 查看全部問答∨ |
誰能幫我分析一下這個模擬電路的輸出是什么? 另外中間的是功率放大電路嗎?起什么作用?如何工作的? 謝謝! 補充一下,為了我計算的時候看起來更清楚一點,電路中有些東西被被我去掉了,現把原始的電路發上來 [ 本帖最后由 dogface 于 2008- ...… 查看全部問答∨ |
WDM式PCI設備驅動中讀存儲器空間的方法有哪些? 在書上看到使用READ_REGISTER_BUFFER_XXX函數,另外我還試驗了RtlCopyMemory函數。 雖然都讀取成功了,但是在總線上看到的波形都是在單次讀取的,也就是發一次地址接收一個數據。 請問如何才能使 ...… 查看全部問答∨ |
|
一、WM開發驅動應該和windows CE基本一致吧,公司很著急,想派人去培訓,哪里有呢?WM開發驅動方面的培訓 二、如何獲得WM的 平臺定制軟件?我Google一下,發現這東西不容易搞到。我們每年出貨不大1000臺左右。微軟會給嗎? 請大家幫忙解答,謝 ...… 查看全部問答∨ |
|
我的氫氣傳感器輸出信號,接GPIOC0或GPIOC3都沒問題,可是接GPIOC1或GPIOC4就會被拉低變形,無法采集AD數據,怎么 ...… 查看全部問答∨ |