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

电商网站开发毕业设计百度文库单身男女免费观看国语高清

电商网站开发毕业设计百度文库,单身男女免费观看国语高清,手机app开发自学教程,武义公司网站建设#xfeff;#xfeff;在使用IAR开发STM32项目时#xff0c;使用串口或者是虚拟终端来输出我们想看的信息是一个非常好而且简便的方式。 首先来看看串口怎么实现信息输出。简单来说串口输出信息就是将标准输出重定向到串口#xff0c;在上位机的超级终端或者串口助手等工…在使用IAR开发STM32项目时使用串口或者是虚拟终端来输出我们想看的信息是一个非常好而且简便的方式。 首先来看看串口怎么实现信息输出。简单来说串口输出信息就是将标准输出重定向到串口在上位机的超级终端或者串口助手等工具中查看结果。 在使用串口之前要配置串口这一点是串口应用的基本知识如果要通过串口输入参数可能还需要使用中断。关于串口配置和终端配置应根据具体是用来实现。这里主要说一下标准输出的重定向。 标准库中的printf函数实际调用了intfputc(int ch, FILE *f)函数所以我们要重载这个函数实现从串口输出数据。 int fputc(int ch, FILE *f) { while (USART_GetFlagStatus(USARTn, USART_FLAG_TC) RESET) {} USART_SendData(USARTn, (uint8_t) ch); return ch; }当然如果想通过串口输入参数还需要从在标准输入函数如 int GetKey (void) {while(!(USARTn-SR USART_FLAG_RXNE));return((int)( USARTn-DR 0x1FF)); } 完成以上重载后在程序中使用printf函数打印信息时就会从串口输出信息。接到上位软件的画就可以在上位机看到这些信息便于查看调试。 接下来我们看一看在IAR虚拟终端中查看输出结果这个相对要简单得多。只需要做一些必要的设置即可将标准输出重定向到IAR虚拟终端中。 在开始之前必须在使用printf函数的的文件中引用stdio.h。这一点毋庸置疑与任何外部函数的调用是一样的。然后开始设置 右键点击项目名称并在弹出菜单中点击“Options”或者在软件“Project”菜单中点击“Options”。 弹出Options界面后在左侧列表框中选择“GeneralOptions”在右侧的Tab界面中选择“Library Configuration”标签如下图红框所示 在“Library Configuration”标签下将Library改为全库“Full”将“stdout/stderr”改为“Via SWO”如下图红框所示。 在完成上述设置后如果没有其他的输出设置当在线调试时打开View菜单中的“Terminal IO”如下图红框所示就可在IAR中显示输出了当然也可以输入数据。 如果在使用IAR虚拟终端时重载了输入输出函数则不会从IAR虚拟终端输出每次修改很麻烦我们可以写一个源文件通过条件编译来实现我们想要的输出方式。 定义两个宏来控制我们要要的方式 /*启用调试使用功能代码*/ #ifndef DEBUG_CODE_ENABLE #define DEBUG_CODE_ENABLE (1) #endif 在调试时将DEBUG_CODE_ENABLE设为1方便查看在项目正式发布时则可将DEBUG_CODE_ENABLE设为0将这段代码屏蔽。 /*定义开关串口打印的宏当为1时使用串口输出当为0时使用IAR虚拟终端*/ #ifndef USART_PRINT_ENABLE #define USART_PRINT_ENABLE (0) #endif 而在使用时如果输出的内容数量和种类比较多的话实现起来比较乱而且可能破环其他部分代码的整体性和可读性。我们可以使用函数指针来集中操作这样无论是代码还是输出信息的完整性都可以保证而且实现条件编译也变得更简洁。 先定义一个打印对象类型的枚举类型和一个打印对象的结构体如下 /*定义一个打印对象数据类型的枚举有新类型是在此添加即可*/ typedef enum{pChar,pInt8,pInt16,pInt32,pFloat,pString }PrintType;/*定义一个答应对象的结构体类型*/ typedef struct{PrintTypeprintType;void *objValue; }PrintObject; 再定义一个函数指针数组用于存放打印函数的指针 int (*ObjPrintf[])(void*objValue){CharPrintf,Int8Printf,Int16Printf,Int32Printf,FloatPrintf,StringPrintf}; 并定义一个调用打印的函数 /*调试时批量打印输出函数*/ void DebugOutput(PrintObject *printObject,uint16_t amount) 对于具体的实现函数根据自己的要求实现就可以了。 在调用时只需要定义一个要输出的对象数组并将其作为参数传递给DebugOutput汗数据可以了。 /*启用调试辅助代码时初始化显影的参数*/ #if DEBUG_CODE_ENABLE (0)chartitle[]\nThe result is:;PrintObjectprintObject[]{{pString,title},{pFloat,o2Concentration},{pFloat,h2Concentration},{pFloat,ch4Concentration}};/*如果启用了串口打印输出功能则初始化串口配置*/ #if USART_PRINT_ENABLE (0)PrintUsartConfiguration(); #endif#endif/*用于测试*/ #if DEBUG_CODE_ENABLE (0)DebugOutput(printObject,sizeof(printObject)/sizeof(PrintObject)); #endif 如此就可以非常方便的输出信息、并可根据自己的需要控制是否输出调试信息采用何种信息输出方式了对调试来说非常有帮助。 欢迎关注
http://www.pierceye.com/news/135383/

相关文章:

  • 贺州做网站哪家公司温州移动网站建设服务商
  • 网站变灰兼容代码北京计算机培训学校
  • 网站导航包括海拉尔网站建设+网站设计
  • flashfxp 上传网站佛山哪里有网站开发
  • qq互联 网站开发济南建设集团有限公司官网
  • 网站开发兼职网站学校网站构建
  • 简约网站后台媒体网站开发
  • 广东营销网站建设网页设计理念及设计思路
  • 咋自己做网站桂林生活网官网首页
  • 电子商务网站建设的展望自己做壁纸的网站
  • 国外h5建站网站建设方案总结评语
  • 百度开放平台白城整站优化
  • 搜狗整站优化广州市网站建站
  • 最方便建立网站北京定制网络营销收费
  • 烟台放心的一站式网站建设桐梓网站建设
  • 如何高效的完成网站建设步骤美食分享网站建设策划书
  • 建立网站的软件网站建设数据库的购买
  • 建网站需要多大的宽带wordpress 分享后可见
  • 自建营销型企业网站阿里网 网站备案流程
  • 与网站建设相关的论文题目wordpress图片上文字
  • 怎样搭建网站视频教程58企业网站如何做
  • 比较有名的网站建设公司wordpress 字数
  • 网站内容资源建设渭南市建设项目
  • 网站设置的参数wordpress弹窗登录注册
  • 网课系统软件网站建设费用网站做vr的收费
  • 海宁做网站的公司seo怎么学在哪里学
  • 佛山做网站多少钱服务器学生
  • 自己建网站卖东西怎么进入wordpress修改界面
  • 网站建设与制作报价wordpress菜单怎么设置目录册
  • 学生免费建设网站建设网站是否等于开展网络营销