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

网站法人与负责人深圳注册公司网上申请入口

网站法人与负责人,深圳注册公司网上申请入口,做甜点的网站,莱芜金点子最新招聘电子版文章目录 letter-shell简介letter-shell源码获取letter-shell移植函数和变量应用示例 本文是高云FPGA系列教程的第10篇文章。 shell#xff0c;中文是外壳的意思#xff0c;就是操作系统的外壳。通过shell命令可以操作和控制操作系统#xff0c;比如Linux中的Shell命令就包括… 文章目录 letter-shell简介letter-shell源码获取letter-shell移植函数和变量应用示例 本文是高云FPGA系列教程的第10篇文章。 shell中文是外壳的意思就是操作系统的外壳。通过shell命令可以操作和控制操作系统比如Linux中的Shell命令就包括ls、cd、pwd等等。总结来说Shell是一个命令解释器它通过接受用户输入的Shell命令来启动、暂停、停止程序的运行或对计算机进行控制。 嵌入式平台可以基于串口实现shell功能通过对串口命令的解析可以执行相应的函数查询变量的值等等。 本文介绍letter-shell开源shell库在高云GW1NSR-4C ARM处理器上的移植和应用。 letter-shell简介 letter-shell一个功能强大的嵌入式shell由标准C语言开发可以在各种嵌入式平台上使用可以通过命令行来执行函数查询变量的值等等支持裸机运行或RTOS运行最新的发布版本是v3.1.2letter-shell有以下功能 命令自动补全快捷键功能定义命令权限管理用户管理变量支持代理函数和参数代理解析 代码完全开源并遵循MIT开源协议Github收获近1K Star。 开源地址 https://github.com/NevermindZZT/letter-shell作者的主页地址 https://nevermindzzt.github.io/目前还保持更新状态最近的一次提交是2023.07.25。 letter-shell源码获取 打开上文中letter-shell的开源地址直接下载最新版本的Release代码 或者通过Git命令获取目前最新的代码 $ git clone https://github.com/NevermindZZT/letter-shell.git --depth1Cloning into letter-shell... remote: Enumerating objects: 72, done. remote: Counting objects: 100% (72/72), done. remote: Compressing objects: 100% (66/66), done. remote: Total 72 (delta 3), reused 35 (delta 2), pack-reused 0 Receiving objects: 100% (72/72), 783.28 KiB | 344.00 KiB/s, done. Resolving deltas: 100% (3/3), done.src目录中就是letter-shell的源文件demo文件夹下是基于ESP32和STM32的移植示例代码。 letter-shell移植 首先把src文件夹的所有文件复制到GW1NSR-4C Keil工程的用户目录下并新建两个接口文件shell_port.c和shell_port.h用来对接shell库。 把这些文件都导入到我们的工程中并包含头文件路径。 shell_cfg.h文件通过宏定义可以实现功能的配置非常灵活。 在shell_port.c文件中实现shell_write函数串口发送字符串并进行shell初始化 #include shell.h #include drv_uart.hShell shell; char shellBuffer[512];short userShellWrite(char *data, unsigned short len) {UART_SendString(UART0, data);return len; }void userShellInit(void) {shell.write userShellWrite;shellInit(shell, shellBuffer, 512); }对于裸机移植不用实现shell read函数只需要实现write函数。 并在shellport.h文件中进行声明 #ifndef __SHELL_PORT_H__ #define __SHELL_PORT_H__#include shell.hextern Shell shell;void userShellInit(void);#endif然后在串口接收中断服务函数每接收到一字节数据调用shellHandler函数。 void UART0_Handler(void) {char rx 0;if(UART_GetRxIRQStatus(UART0) SET){rx UART_ReceiveChar(UART0);shellHandler(shell, rx);}UART_ClearRxIRQ(UART0); }主程序初始化时调用userShellInit函数 #include main.hint main(void) {delay_init();uart0_init(115200); //enable rx interruptuserShellInit();while(1){} }重新编译生成bin文件并下载到开发板打开串口终端如SercureCRT可以看到串口输出如下信息说明移植成功按下tab键会提示当前支持的一些命令 函数和变量应用示例 移植成功之后我们来演示函数和变量的调用即通过在终端输入函数名和参数可以直接执行函数输入变量名可以直接打印变量的实时值。 定义一些变量和函数并注册到shell命令解析列表中。 #include main.hchar str[100] Hello GoWin GW1NSR-4C (TangNano 4K); int cnt 0;int func(int i, char ch, char *str) {printf(input int: %d, char: %c, string: %s\r\n, i, ch, str);return 1; } //获取系统频率 int get_sysclk(void) {printf(SystemCoreClock %d\r\n, SystemCoreClock);printf(APB1 CLK %d\r\n, PCLK1);printf(APB2 CLK %d\r\n, PCLK2);printf(AHB CLK %d\r\n, HCLK);return 2; }SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC), get_sysclk, get_sysclk, test); SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC), func, func, test); SHELL_EXPORT_VAR(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_VAR_INT), cnt, cnt, test); SHELL_EXPORT_VAR(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_VAR_STRING), str, str, test);int main(void) {delay_init();uart0_init(115200); //enable rx interruptprintf(SystemCoreClock %d\r\n, SystemCoreClock);printf(APB1 CLK %d\r\n, PCLK1);printf(APB2 CLK %d\r\n, PCLK2);printf(AHB CLK %d\r\n, HCLK);printf(Hello GW1NSR-4C SoC(ARM Cortex-M3)\r\n);printf(letter-shell Example\r\n);userShellInit();while(1){delay_ms(1000);cnt;} }下载运行。 在终端中直接输入对应的函数名即可直接运行函数如果函数带参数还可以在后面输入参数参数类型支持整形、字符、字符串等多种类型而且运行结束可以看到函数的返回值输入变量的名字可以直接获取到当前实时值变量类型值整形和字符、字符串多种类型非常强大、方便。 本文是高云FPGA系列教程的第10篇文章。
http://www.pierceye.com/news/991047/

相关文章:

  • 做网站的好公司wordpress大前端模板下载
  • 建设网站的申请信用卡吗下载百度免费
  • 徐州企业网站设计做瑜伽网站
  • 网站开发就是ssh吗.net 网站开发书籍
  • 网站名称没有排名上海工商网查询企业章程
  • 网站建设方案报价费用明细价格免费开店的电商平台
  • 济南网络建站模板用c 做的网站怎么打开
  • 网站建设培训课程好人一生平安网站哪个好
  • seo怎么做网站的tdk网站优化的核心不包括
  • 如何做一份网站的数据分析网站营销案例
  • 中小企业网站建设公司个人微信号做网站行吗
  • 网站无法连接服务器哪些国家网站无须备案
  • 重庆做网站设计培训机构排名全国十大教育机构排名
  • 做网站建设销售网络营销推广技巧
  • 南宁网站制作定制北京网站seo服务
  • 门户网站网页设计规范willin kan 让你的wordpress飞起来
  • 建设银行广州招聘网站wordpress dz
  • 如何介绍自己做的网站东莞回收网站设计
  • 北京驾校网站建设厦门网页设计培训班
  • 网络公司给我做网站我有没有源代码版权吗我怎么做个人网站
  • 免费建站网站一站式做网站需要懂那些软件
  • 做新网站怎样提交360寻找销售团队外包
  • 重庆市建设网站wordpress 新闻模版
  • 国内网站建设推荐手工做的网站
  • 深圳罗湖做网站的公司网站建设与管理案例教程第三版课后答案
  • 有关网站招标商务标书怎么做做终端客户网站
  • c 网站做微信收款功能青岛网站建设定制
  • 贵州安顺建设主管部门网站网站全程设计技术
  • 公司宣传网站建设企业网站建设与实现的论文
  • 连云港网站建设推广网站的推广优化