资源简介
STM32F030基于MDK5的工程模板,主要初始化GPIO,以及操作串口,基于中断,通过AT指令操作外部GSM模块。使用ST驱动库
代码片段和文件信息
#include “bsp_common.h“
#include “stm32f0xx.h“
#include
static char * itoa ( int value char * string int radix );
uint32_t TimingDelay;
/*
* 函数名:USART2_printf
* 描述 :格式化输出,类似于C库中的printf,但这里没有用到C库
* 输入 :-USARTx 串口通道,这里只用到了串口2,即USART2
* -Data 要发送到串口的内容的指针
* -... 其他参数
* 输出 :无
* 返回 :无
* 调用 :外部调用
* 典型应用USART2_printf( USART2 “\r\n this is a demo \r\n“ );
* USART2_printf( USART2 “\r\n %d \r\n“ i );
* USART2_printf( USART2 “\r\n %s \r\n“ j );
*/
void USART_printf ( USART_TypeDef * USARTx char * Data ... )
{
const char *s;
int d;
char buf[16];
va_list ap;
va_start(ap Data);
while ( * Data != 0 ) // 判断是否到达字符串结束符
{
if ( * Data == 0x5c ) //‘\‘
{
switch ( *++Data )
{
case ‘r‘: //回车符
USART_SendData(USARTx 0x0d);
Data ++;
break;
case ‘n‘: //换行符
USART_SendData(USARTx 0x0a);
Data ++;
break;
default:
Data ++;
break;
}
}
else if ( * Data == ‘%‘)
{ //
switch ( *++Data )
{
case ‘s‘: //字符串
s = va_arg(ap const char *);
for ( ; *s; s++)
{
USART_SendData(USARTx*s);
while( USART_GetFlagStatus(USARTx USART_FLAG_TXE) == RESET );
}
Data++;
break;
case ‘d‘:
//十进制
d = va_arg(ap int);
itoa(d buf 10);
for (s = buf; *s; s++)
{
USART_SendData(USARTx*s);
while( USART_GetFlagStatus(USARTx USART_FLAG_TXE) == RESET );
}
Data++;
break;
default:
Data++;
break;
}
}
else USART_SendData(USARTx *Data++);
while ( USART_GetFlagStatus ( USARTx USART_FLAG_TXE ) == RESET );
}
}
/*
* 函数名:itoa
* 描述 :将整形数据转换成字符串
* 输入 :-radix =10 表示10进制,其他结果为0
* -value 要转换的整形数
* -buf 转换后的字符串
* -radix = 10
* 输出 :无
* 返回 :无
* 调用 :被USART2_printf()调用
*/
static char * itoa( int value char *string int radix )
{
int i d;
int flag = 0;
char *ptr = string;
/* This implementation only works for decimal numbers. */
if (radix != 10)
{
*ptr = 0;
return string;
}
if (!value)
{
*ptr++ = 0x30;
*ptr = 0;
return string;
}
/* if this is a negative value insert the minus sign. */
if (value < 0)
{
*ptr++ = ‘-‘;
/* Make the value positive. */
value *= -1;
}
for (i = 10000; i > 0; i /= 10)
{
d = value / i;
if (d || flag)
{
*ptr++ = (char)(d + 0x30);
value -= (d * i);
flag = 1;
}
}
/* Null terminate the string. */
*ptr = 0;
return string;
} /* NCL_Itoa */
void Delay_ms(__IO uint32_t nTime)
{
TimingDelay = nTime;
while(TimingDelay != 0);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-05-30 13:20 STM32F0_Template\
目录 0 2018-05-30 13:20 STM32F0_Template\BSP\
文件 3277 2018-04-03 16:02 STM32F0_Template\BSP\bsp_common.c
文件 569 2018-04-03 16:03 STM32F0_Template\BSP\bsp_common.h
文件 7304 2018-04-03 22:53 STM32F0_Template\BSP\bsp_gprs485.c
文件 5187 2018-04-03 20:54 STM32F0_Template\BSP\bsp_gprs485.h
文件 1834 2018-04-03 20:36 STM32F0_Template\BSP\bsp_IO.c
文件 956 2018-04-02 21:09 STM32F0_Template\BSP\bsp_IO.h
文件 7163 2018-04-03 22:08 STM32F0_Template\BSP\bsp_usart.c
文件 210 2018-04-03 15:09 STM32F0_Template\BSP\bsp_usart.h
目录 0 2018-03-24 19:08 STM32F0_Template\Doc\
目录 0 2018-05-30 13:20 STM32F0_Template\Libraries\
目录 0 2018-05-30 13:20 STM32F0_Template\Libraries\CMSIS\
文件 33042 2014-12-02 18:37 STM32F0_Template\Libraries\CMSIS\core_cm0.h
目录 0 2018-05-30 13:20 STM32F0_Template\Libraries\CMSIS\startup\
文件 10677 2014-12-05 00:34 STM32F0_Template\Libraries\CMSIS\startup\startup_stm32f030.s
文件 10953 2014-12-05 00:34 STM32F0_Template\Libraries\CMSIS\startup\startup_stm32f030xc.s
文件 11314 2014-12-05 00:34 STM32F0_Template\Libraries\CMSIS\startup\startup_stm32f0xx.s
文件 10480 2014-12-05 00:34 STM32F0_Template\Libraries\CMSIS\startup\startup_stm32f0xx_ld.s
文件 462509 2014-12-05 00:34 STM32F0_Template\Libraries\CMSIS\stm32f0xx.h
文件 12607 2014-12-06 04:43 STM32F0_Template\Libraries\CMSIS\system_stm32f0xx.c
文件 2223 2014-12-05 00:34 STM32F0_Template\Libraries\CMSIS\system_stm32f0xx.h
目录 0 2018-05-30 13:20 STM32F0_Template\Libraries\FWlib\
目录 0 2018-05-30 13:20 STM32F0_Template\Libraries\FWlib\inc\
文件 21120 2014-12-05 00:34 STM32F0_Template\Libraries\FWlib\inc\stm32f0xx_adc.h
文件 27298 2014-12-05 00:34 STM32F0_Template\Libraries\FWlib\inc\stm32f0xx_can.h
文件 12420 2014-12-05 00:34 STM32F0_Template\Libraries\FWlib\inc\stm32f0xx_cec.h
文件 10714 2014-12-05 00:34 STM32F0_Template\Libraries\FWlib\inc\stm32f0xx_comp.h
文件 4957 2014-12-05 00:34 STM32F0_Template\Libraries\FWlib\inc\stm32f0xx_crc.h
文件 7766 2014-12-05 00:34 STM32F0_Template\Libraries\FWlib\inc\stm32f0xx_crs.h
文件 15562 2014-12-05 00:34 STM32F0_Template\Libraries\FWlib\inc\stm32f0xx_dac.h
............此处省略161个文件信息
- 上一篇:基于STM32室内温度报警控制系统设计
- 下一篇:系统分析师79篇论文
相关资源
- 基于STM32室内温度报警控制系统设计
- 蓝桥杯CT117E嵌入式竞赛板省赛第八届
- 蓝桥杯CT117E嵌入式竞赛板省赛第七届
- 蓝桥杯CT117E嵌入式竞赛板省赛第六届
- 嵌入式远程视频监控系统实现毕业设
- STM32F103串口使用空闲IDLE中断接收不定
- STM32+USB+W25Q实现U盘程序
- BQ40Z50通讯正常-基于STM32F0.rar
- (自学笔记)最全嵌入式Linux学习手册
- 基于STM32单片机的窗帘自动控制系统设
- STM32_ADC+TIM+DMA
- lsm303dlhc Stm32f103 驱动程序
- 基于MQ135+STM32的环境空气质量检测
- STM32编码器程序
- ARM stm32f407 开发板原理图及 PCB图
- STM32驱动12864点阵LCD,多级菜单,完整
- 基于LABVIEW的STM32F0多路数据采集系统源
- STM32红外遥控解码程序解码后的按键值
- STM32升降桌控制霍尔电机,PID调速
- STM32F103R LCD显示汉字.rar
- stm32f103zet6矩阵键盘(4x4)实现数字密
- stm32f072 can 通讯代码
- STM32Mini开发板HCSR-04C超声波程序
- STM32F103硬件i2c读取bmp085串口输出
- STM32F103ZET6_USB_自定义BULK
- STM32F103 CAN端口主从收发驱动例程
- STM32搭载RTOS实现任务+消息队列+串口通
- STM32F103ZET6+IAP+超级终端
- STM32硬件中断收发I2C数据
- 武术擂台机器人程序源码
评论
共有 条评论