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

如何学习网站建设app/做个网页需要多少钱?

如何学习网站建设app,做个网页需要多少钱?,今日要闻新闻中心,数字营销策划智芯Z20K11x串口printf重定向 目录 智芯Z20K11x串口printf重定向前言1 串口代码编写2 Keil勾选MicroLIB库结束语 前言 智芯Z20K11x系列是基于ARM CORTEX M0的中低端微控制器,高达256K P FLASH 128K D FLASH,2路CANFD接口,4路UART/LIN接口&a…

智芯Z20K11x串口printf重定向

目录

  • 智芯Z20K11x串口printf重定向
    • 前言
    • 1 串口代码编写
    • 2 Keil勾选MicroLIB库
    • 结束语

前言

智芯Z20K11x系列是基于ARM CORTEX M0+的中低端微控制器,高达256K P FLASH + 128K D FLASH,2路CANFD接口,4路UART/LIN接口,多种封装类型,适用于车身控制、空调控制、照明控制、中小功率电机控制等各种应用。
更多详细的信息可以到智芯官网查看。
智芯官网地址:https://www.zhixin-semi.com
在这里插入图片描述
最近用到这个MCU做项目,发现官方的SDK里面有串口的demo但没有串口printf的用法,这对于用串口debug来说没有那么方便,所以我就自己做了。

1 串口代码编写

1、串口初始化
Z20K11x有几组串口,我这里以UART0的PTA11和PTA12为例。

void uart_init(void)
{/*Uart config struct*/static const UART_Config_t uartCfg = {115200,UART_DATABITS_8,UART_PARITY_NONE,UART_STOPBITS_1,DISABLE,40000000,};/*Config UART0 clock, enable UART0 module*/CLK_ModuleSrc(CLK_UART0, CLK_SRC_OSC40M);CLK_SetClkDivider(CLK_UART0, CLK_DIV_1);SYSCTRL_EnableModule(SYSCTRL_UART0);/*Config PortA clock, enable PortE module*/CLK_ModuleSrc(CLK_PORTA, CLK_SRC_OSC40M);SYSCTRL_EnableModule(SYSCTRL_PORTA);/* Inital UART0 */UART_Init(UART0_ID, &uartCfg);/*Config UART0 pinmux*/PORT_PinmuxConfig(PORT_A, GPIO_11, PTA11_UART0_TX);PORT_PinmuxConfig(PORT_A, GPIO_12, PTA12_UART0_RX);/*When UART re-open after close, need to check and clear busy status*/while(ERR == UART_WaitBusyClear(UART0_ID, 7000)){(void)UART_ReceiveByte(UART0_ID);}
}

2、fputc函数重定向
我们常用的printf()函数在c标准库函数实质是一个宏,它其实调用的是fputc()函数,而fputc()函数在<stdio.h>里面是有定义的,但它默认不是指向串口。
如果需要printf()函数指定到串口上就需要重写fputc()函数,原理是链接器检查到用户编写了与C库函数相同名字的函数时,优先调用用户编写函数,这样就可实现重定向。
下面以串口0为例重写fputc()函数。

int fputc(int ch, FILE *f)
{     (void) f; /* Wait untill FIFO is empty */while(RESET == UART_GetLineStatus(UART0_ID, UART_LINESTA_TEMT)){}/* Send data */UART_SendByte(UART0_ID, (uint8_t)ch);     return ch;
}

2 Keil勾选MicroLIB库

除了上述的代码编写,我们还需要在keil上面把MicroLIB库(微库)勾选上,具体原理其实我也不是很懂。
关于MicroLIB库的介绍,官方的解释是:MicroLib 是一个高度优化的库,适用于用 C 编写的基于 ARM 的嵌入式应用程序。与 ARM 编译器工具链中包含的标准 C 库相比,MicroLib 提供了许多嵌入式系统所需的显着代码大小优势。
看了这解释,我好像懂了又好像没有,不过这不重要,反正我知道不勾这个库就用不了printf()函数,那咱勾上就好了。

打开Options for Target,勾选Use MicroLIB即可。
在这里插入图片描述

结束语

上面的步骤都做完以后就可以使用串口printf()打印数据了,具体的用法和测试图这里就不放了,大家都懂的。
步骤也简单,和stm32的串口重定向原理都一样,用过的同学应该都知道。
好了,关于智芯Z20K11x串口printf重定向的介绍就到这里,如果还有什么问题,欢迎评论区留言或者私信,谢谢。

http://www.jmfq.cn/news/4776067.html

相关文章:

  • 一个公司网站备案/泰安seo网络公司
  • 下载app下载/宁波seo推广推荐公司
  • 找设计网站公司/线上推广费用
  • 江苏网站建设价格/seo排名诊断
  • wordpress 整合js/成都百度推广优化创意
  • 网站备案失败/网络热词大全
  • 公司做网站需要注意什么/百色seo快速排名
  • 深圳微信网站开发/windows优化大师自动安装
  • 芜湖网站建设优化/百度贴吧网页版登录入口
  • 望京 网站开发/各大网站提交入口
  • b2b外贸网站大全/江苏网站推广
  • 长春哪里做网站/百度问问
  • 银川网站建设公司哪家好/西安seo引擎搜索优化
  • 企业大型网站开发/广州谷歌seo公司
  • 建销售网站需要多少钱/附近成人电脑培训班
  • 菏泽 网站建设/合肥网站制作推广
  • 山西做杂粮的网站/网络营销考试题目及答案2022
  • 专业做网站开发费用/网站seo设计方案案例
  • 推广文案是什么/南昌seo报价
  • 建设网站比较好的公司排名/游戏推广合作平台
  • 网站主机在哪里注册呢/厦门关键词优化seo
  • 常用的网站建设程序有哪些/新浪网今日乌鲁木齐新闻
  • 直播网站 建设/网络推广工作好吗
  • 帮人做网站/有别人的交易链接怎么交易
  • 色弱做网站/合肥seo网站建设
  • 做网站域名优化的怎么样/全网推广成功再收费
  • 福田祥菱v3报价及图片/北京培训seo哪个好
  • 网站模板免费/steam交易链接在哪里看
  • 济南网站推广¥做下拉去118cr/怎么制作一个网页
  • 青山做网站/微信小程序开发文档