历史上的今天
今天是:2025年02月23日(星期日)
2021年02月23日 | 介绍一个蓝牙小车的程序
2021-02-23 来源:eefocus
简介:这个是这个蓝牙小车的主程序,单片机用的是stm8,希望对广大爱好智能车的朋友所帮助。
#include "iostm8s103k3.h"
#include "stm8s_uart1.h"
#include "stm8s.h"
void UART1_init(void);
unsigned char c;
void TIM2_Configuration_set(void)
{
TIM2_DeInit();//reset
TIM2_TimeBaseInit(TIM2_PRESCALER_8, 65535);//预分频8,自动重载值为1000
TIM2_SetCounter(100);//设置计时器初值为1000,以产生更新事件 TIM2_ITConfig(TIM2_IT_UPDATE, ENABLE);//开定时器中断 TIM2_Cmd(ENABLE);//计时器打开 }
void GPIO_Init_s(void)
{
GPIO_Init(GPIOB, GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_6|GPIO_PIN_7,
GPIO_MODE_OUT_PP_LOW_FAST);
GPIO_Init(GPIOA, GPIO_PIN_LNIB, GPIO_MODE_OUT_PP_HIGH_FAST); GPIO_Init(GPIOD, GPIO_PIN_5, GPIO_MODE_OUT_PP_HIGH_FAST); GPIO_Init(GPIOD, GPIO_PIN_6, GPIO_MODE_IN_PU_NO_IT);
}
void main()
{
disableInterrupts();
CLK_SWR=0XB4; //将HSE置为主时钟源
while(!(CLK_SWCR&0X08));//判断目标时钟源是否准备就绪 CLK_SWCR|=0X02; //=CLK_SWCR|0X02 while(CLK_SWCR&0X01) ; //判断时钟切换是否完成
UART1_init();
GPIO_Init_s();
enableInterrupts();
TIM2_Configuration_set();
while (1) {
while (!(UART1_SR & 0x20));//Loop until the UART1 Receive Data Register is not empty
c= UART1_DR;
}
}
void UART1_init(void)
{
UART1_CR1 = 0x00;//一个起始位,8个数据位.n个停止位 UART1_CR3= 0x00;//一个停止位
UART1_BRR2 = 0x00;//波特率9600
UART1_BRR1 = 0x68;
UART1_CR2= 0x04;//接收使能
}
#pragma vector=UART1_R_RXNE_vector __interruptvoid UART1_RX(void) { c = UART1_DR; // 接收到数据了 while(!UART1_SR_TXE);
}
#pragma vector=15 //TIM2的外部中断向量号是13,加上两个不可屏蔽中断是15__interrupt
void TIM2_IRQ(void)
{
//判断接受到的数据,然后小车运动
if(c==0x44)GPIO_WriteLow(GPIOA, GPIO_PIN_2); GPIO_WriteHigh(GPIOA, GPIO_PIN_1);
if(c==0x88) PB_ODR=0x88;
if(c==0x40) PB_ODR=0x40;
if(c==0x04) PB_ODR=0x04;
if(c==0x00) PB_ODR=0x00;
TIM2_SetCounter(100);//重新赋初值 TIM2_ClearITPendingBit(TIM2_IT_UPDATE); //清中断标志位
} //程序参数纠错
#ifdef USE_FULL_ASSERT
void assert_failed(u8*file,u32 line)
{
while(1)
{
}
}
#endif
下一篇:电磁炉中电容式触控的原理
史海拾趣
|
首先恭祝各位新年好!! 近来学习了一下PIC单片机,学习过程中在网上搜了一些pic单片机的资料,不敢独享,现拿出来与大家一起分享,其中有些书可能已经在论坛发过,请大家酌情下载,呵呵 PIC单片机实用教程:基础篇 本书以介绍PIC16F87X型号单片 ...… 查看全部问答> |
|
浙江森尚光电科技招聘LED灯具设计师外销员 宁波高新区浙江森尚光电科技股份有限公司是一家高科技、投资大的新型企业集团,公司正在招聘LED灯具设计师(电子、光学、结构、品管)以及外销员、采购员。欢迎有志LED灯具行业发展的青年工程师与森尚一 ...… 查看全部问答> |
|
使用GetHostByAddr通过Ip地址获取主机名,但是经常不能获取成功,偶尔成功后获取的主机名是localhost。错误时,返回值是11001,并且通过抓包软件不能抓到任何的数据。希望高手指教。… 查看全部问答> |
|
公布一个ARM免费实战项目开发计划 ARM免费实战:Mp3播放器项目开发计划 (重新使用基于ARM的STM32完整实现) 从0到软硬件精通的实战项目技术方案已经完成,分工正式开始了,要参与的赶快啊 产品做出来后,论坛有详细充足的细节资料 ...… 查看全部问答> |
|
Andrew Armutat 产品市场部 吉时利仪器公司 2602型双通道系统源表[1] 测试应用与设备结构的配合 在面临这些挑战时,生产测试工程师必须彻底纵览ATE前景,寻找新的硬件结构和软件结构,从中找出满足其测试功能所需的最佳选择。当然,根据 ...… 查看全部问答> |
|
采用TI AM335X系列处理器,最高720MHz高速ARM Cortex-A8核心; 256MB DDR2 SDRAM(RAM最大扩展至512M,批量用户定制)使较多代码程序运行成为可能; 256MB NandFlash 2MB DataFlash(Flash最大扩展至64GB ...… 查看全部问答> |




