• 大小: 5.7MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-13
  • 语言: 其他
  • 标签: STM32  嵌入式  

资源简介

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个文件信息

评论

共有 条评论