打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
STM32学习过程中整理的资料
STM32学习过程中整理的资料
2010-12-07 17:16

    在stm32的学习过程中,才真正的把大一时候学到的c语言用到实处。并且重新复习巩固了一遍c语言。在这里我总结了一些我学习过程中遇到的问题以及解决的办法,很多我也是百度一下才知道的,整理出来作为我的笔记,也方便大家来看。

    1、在c语言中怎么把一个整型数据转换成字符串

用itoa函数或者用sprintf,且看
char ch1[10],ch2[10];int z;z=123;_itoa(z,ch1,10);//这样把z作为字符串写入ch1
sprintf(a2,"%d",n);//这样把z写入字符串ch2输出可以用printfprintf(a1);
printf(a2);
printf("%d",n);
结果一样
至于这两个函数具体怎么用,这里就不详细说明,百度一下就有了。
2、STM32程序添加printf函数后无法运行的解决方法

标准库函数的默认输出设备是显示器,要实现在串口或LCD输出,必须重定义标准库函数里调用的与输出设备相关的函数.

例如:printf输出到串口,需要将fputc里面的输出指向串口(重定向),方法如下:

#ifdef __GNUC__
/* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
     set to 'Yes') calls __io_putchar() */
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /* __GNUC__ */

PUTCHAR_PROTOTYPE
{
 /* Place your implementation of fputc here */
 /* e.g. write a character to the USART */
 USART_SendData(USART1, (uint8_t) ch);
 /* Loop until the end of transmission */
 while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);
 return ch;
}

因printf()之类的函数,使用了半主机模式。使用标准库会导致程序无法运行,以下是解决方法:

方法1.使用微库,因为使用微库的话,不会使用半主机模式.

方法2.仍然使用标准库,在主程序添加下面代码:

#pragma import(__use_no_semihosting)
_sys_exit(int x)
{
x = x;
}
struct __FILE
{
int handle;
/* Whatever you require here. If the only file you are using is */
/* standard output using printf() for debugging, no file handling */
/* is required. */
};
/* FILE is typedef’ d in stdio.h. */
FILE __stdout;

我在使用串口输出方面遇到了编译通过,但是无法运行。我的解决办法是并没有使用这个上面说的,而是换了输出方法,主要是开始编译通过了,但是在jlink环境下没法运行,去掉这个函数就可以了,换了输出方式了,在这里至少搞定了无法运行的情况。

3、STM32 103c8 的VDDA引脚,在电路上未连接任何电平.悬空了.结果发现,芯片没反应了,程序无法下载,最后一查,按照技术手册 Vref内部已与Vdda相连,而Vdda是为ADC,复位电路,RC PLL供电的。连接一下就解决问题了

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
STM32程序添加printf函数后无法运行的解决方法(转)
STM32中使用printf打印串口数据
STM32的半主机机制
Keil-STM32程序(使用库)中添加printf函数
stm32 printf函数调用
STM32F10XXX串口UART1通讯,将printf scanf等重定向到串口
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服