×
嵌入式 > 技术百科 > 详情

STM8 控制电脑风扇转速 4PIN PWM

发布时间:2021-12-02 发布时间:
|



程序代码:

#include "stm8s.h"

#include "stm8s_gpio.h"

#define PWM_F 640

uint8_t HexTable[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

uint16_t CCR1_Val = 100;

void DelayApi(uint16_t uwDelayCnt);

void TIM2_Config(void);

void Init_UART1(void)

{

UART1_DeInit();

UART1_Init((u32)9600, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO, UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_TX_ENABLE);

// UART1_Cmd(ENABLE);

}

void Send(uint8_t dat)

{

while(( UART1_GetFlagStatus(UART1_FLAG_TXE)==RESET));

UART1_SendData8(dat);

}

void Init_ADC(void)

{

//GPIO_Init(GPIOD, GPIO_PIN_2, GPIO_MODE_IN_FL_NO_IT);

ADC1_DeInit();

ADC1_Init(ADC1_CONVERSIONMODE_SINGLE, ADC1_CHANNEL_3, ADC1_PRESSEL_FCPU_D2, ADC1_EXTTRIG_TIM, DISABLE, ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_CHANNEL3, ENABLE);

ADC1_Cmd(ENABLE);

}

void UART1_sendhex(unsigned char dat)

{

Send('0');

Send('x');

Send(HexTable[dat>>4]);

Send(HexTable[dat&0x0f]);

Send(' ');

}

void UART1_sendstr(unsigned char *dat)

{

while(*dat!='


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ADI 高精度低功耗精密放大器