当前位置: 首页 > news >正文

西安哪个公司可以做网站虾米wordpress插件

西安哪个公司可以做网站,虾米wordpress插件,网站卡密代理怎么做,wordpress仿wiki作者#xff1a;echobright原文链接#xff1a;https://blog.csdn.net/qq_29344757/article/details/75363639在前面学习了STM32的串口编程#xff0c;通过USART1向计算机的串口调试助手打印数据#xff0c;或者接收计算机串口调试助手的数据#xff0c;接下来我们可以实现… 作者echobright原文链接https://blog.csdn.net/qq_29344757/article/details/75363639在前面学习了STM32的串口编程通过USART1向计算机的串口调试助手打印数据或者接收计算机串口调试助手的数据接下来我们可以实现STM32工程上的printf()函数了方便用于程序开发中调试信息的打印。法1使用MicroLIB库1.1 KEIL-MDK中的Use MicroLIB选项在MDK开发环境中MicroLib是缺省c库的备选库它可装入少量内存中与嵌入式应用程序配合使用且这些应用程序不在操作系统中运行。MicroLib进行了高度优化以使代码变得很小功能比缺省c库少不具备某些ISO c特性部分库函数的运行速度也比较慢如内存拷贝函数memcpy()。MicroLib与缺省c库之间的主要差异在网上有许多文章都有写到这里摘抄记录(1) MicroLib 不符合 ISO C 库标准。不支持某些 ISO 特性并且其他特性具有的功能也较少。(2) MicroLib 不符合 IEEE 754 二进制浮点算法标准。(3) MicroLib 进行了高度优化以使代码变得很小。(4) 无法对区域设置进行配置。缺省 C 区域设置是唯一可用的区域设置。(5) 不能将 main() 声明为使用参数并且不能返回内容。(6) 不支持 stdio但未缓冲的 stdin、stdout 和 stderr 除外。(7) MicroLib对 C99 函数提供有限的支持。(8) MicroLib不支持操作系统函数。(9) MicroLib不支持与位置无关的代码。(10) MicroLib不提供互斥锁来防止非线程安全的代码。(11) MicroLib不支持宽字符或多字节字符串。(12) 与stdlib不同MicroLib不支持可选择的单或双区内存模型。MicroLib只提供双区内存模型即单独的堆栈和堆区。MicroLib提供了一个有限的stdio子系统它仅支持未缓冲的stdin、stdout和stderr那么也就是说勾选了Use MicroLib选项后在代码工程中就可以使用printf()函数咯然而事实并非如此这样直接使用printf()函数其打印的字符串最终不知道打印到何处。我们要做的是将调试信息打印到USART1中所以需要对printf()函数所依赖的打印输出函数fputc()重定向( MicroLib中的printf()函数打印操作依赖fputc() )。1.2 重定向fputc函数在MicroLib的stdio.h中fputc()函数的原型为int fputc(int ch, FILE* stream)此函数原本是将字符ch打印到文件指针stream所指向的文件流去的现在我们不需要打印到文件流而是打印到串口1。基于前面的代码#include stdio.h int fputc(int ch, FILE* stream) {//USART_SendData(USART1, (unsigned char) ch);//while (!(USART1-SR USART_FLAG_TXE));USART_SendChar(USART1, (uint8_t)ch);return ch; } 注意需要包含头文件stdio.h否则FILE类型未定义。勾选了Use MicroLib选项重定向fputc()函数后我们就可以在工程代码中使用printf()函数了int main(void) {USART_Configuration();printf(\r\nstm32f103rct6\r\n);printf(\r\nCortex-M3\r\n);while (1); return 0; } printf()函数的使用方法跟之前一样运行结果法2不使用MicroLIB库2.1 半主机模式半主机模式是ARM的一种机制实现将来ARM应用程序代码的输入/输出请求传送至运行着调试器的主机。例如设置使用半主机模式下的ARM应用程序可以使用printf()和scanf()来使用主机的显示器和键盘而不需要在ARM系统上搭配显示器和键盘。半主机通过一组定义好的软件指令(如SVC)来实现的这些指令在程序控制下产生异常ARM应用程序调用半主机对应的异常处理函数然后调试代理处理该异常。第二段话感觉理解起来有点模糊但是第一段还是懂它在讲什么的。一般的ARM应用程序中并不需要半主机操作在这里为确保ARM应用程序中没有链接MicroLib的半主机相关函数我们要取消ARM的半主机工作模式。2.2 实现代码在工程中加上如下代码#pragma import(__use_no_semihosting) struct __FILE { int handle; }; FILE __stdout; _sys_exit(int x) { x x; } int fputc(int ch, FILE *f){ while((USART1-SR0X40)0);USART1-DR (u8) ch; return ch; } 上面的代码摘自正点原子的范例程序具体每一行的意义目前也不大清楚。这样操作后在不使用MicroLib的前提下仍能使用printf()函数将调试信息打印到USART1上了。推荐阅读专辑|Linux文章汇总专辑|程序人生专辑|C语言我的知识小密圈关注公众号后台回复「1024」获取学习资料网盘链接。欢迎转发在看评论~
http://www.pierceye.com/news/860220/

相关文章:

  • 有没有什么 网站能够做试卷wordpress写 a href
  • 西安 北郊网站建设网站上传图片加水印
  • 沈阳网站制作哪家好包头爱出行app最新版本
  • 怎么用IP做网站地址网站如何投放广告
  • 试述电子商务网站的建设流程太原建站的模板
  • 微信群投票网站怎么做的企业门户网站怎么做
  • 建网站平台 优帮云嘉兴营销型网站
  • 建筑类专业做教育的网站ui设计app
  • 郑州做营销型网站的公司什么叫社交电商平台
  • 外国做问卷可以赚钱的网站做中国菜的外国网站
  • 青岛市建设厅网站快递网站建设
  • 昆明网站WordPress文章怎么折叠
  • 拖拽建站系统源码企业主题展厅设计公司
  • asp.net网站的数据库配置张家港网站 设计制作
  • 聊城手机网站建设多少钱扬州网站建设哪个好薇
  • 云南安宁做网站的公司手机网页制作软件中文版
  • 如何做征信公司网站做谷歌推广一定要网站吗
  • 重庆市做网站的公司有哪些苏州网站建设设计公司
  • 网站制作计算机域名解析到网站
  • 自己做的电影网站打开很慢wordpress 防采集
  • 西安专业网站建设公司排名做网站编写
  • 做电影网站还能赚钱云南网站建设哪家公司好
  • 重庆定制网站开发什么是网络营销战略
  • 网站建设硬件方案精准客源app
  • 网站视觉优化怎么做电子商务网站建设参考文献2018
  • 服务器可以吧网站做跳转吗wordpress 远程图片本地化
  • 网站在线访谈栏目建设个人网站可以备案了吗
  • 汉口北做网站搜索广告是什么
  • 电商网站可以用dw做嘉兴网站建设平台
  • 做网站是数据库应该放在哪里建筑工程水平防护网