资源简介
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篇论文
相关资源
- STM32F103RC+ADC+DMA多通道采样LCD显示
- I2C读写AT24C02 基于STM32F103 cube116540
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- STM32蓝牙和串口程序
- Micrium.RTOS.1.0.0.pack
- ISE_14.7_license.lic
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- mpu6050+hmc5883L.rar
- stm32f030 IAP Demo(原创)
- 嵌入式图形界面MiniGUI的示例程序9例
- STM32基于rt_thread操作系统的SDHC卡文件
- NRF24L01实现51与STM32双向通讯
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- stm32官方例程
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32定时器使用入门。看了这个程序会
- SIM908 SDIO FSMC STM32 FIFO
- ARM嵌入式项目实战
- STM32F103 CC2500完整驱动(模拟SPI)
评论
共有 条评论