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

在国外怎么做网站怎么联系软件开发者

在国外怎么做网站,怎么联系软件开发者,电脑传奇游戏哪个好玩,青岛网站seo价格前言 前几篇已经 通过 STM32CubeMX 搭建了 NUCLEO-L476RG 的 STM32L476RG 的 裸机工程#xff0c;下载了 uC-OS2 V2.93 的源码#xff0c;并把 uC-OS2 的源文件加入 Keil MDK5 工程#xff0c;通过适配 Systick 系统定时器与 PendSV 实现任务调度#xff0c;初步让 uC-OS2 …前言 前几篇已经 通过 STM32CubeMX 搭建了 NUCLEO-L476RG 的 STM32L476RG 的 裸机工程下载了 uC-OS2 V2.93 的源码并把 uC-OS2 的源文件加入 Keil MDK5 工程通过适配 Systick 系统定时器与 PendSV 实现任务调度初步让 uC-OS2 运行起来 本篇适配 uC-OS2 的 串口驱动实现 类似于 printf 的打印功能让 uC-OS2 有串口运行信息 开发环境 win10 64位 Keil uVision5MDK V5.36 uC-OS2 V2.93 开发板NUCLEO-L476RG MCU 为 STM32L476RG STM32CubeMX 6.9.1用于生成 STM32的裸机工程 串口驱动 通过 STM32CubeMX已经配置了串口的驱动默认串口的波特率是 115200 bps不过没有串口输出的接口需要自己完善一下 新建 uart.c驱动如下 #include uart2.h #include stdio.h #include stdarg.h #include string.h #include stm32l4xx_hal.hstatic UART_HandleTypeDef huart2;#define DBG_BUFF_MAX_LEN 256 static char rt_log_buf[DBG_BUFF_MAX_LEN] { 0 };void uart2_put(const char *fmt) {HAL_UART_Transmit(huart2, (uint8_t *)fmt, strlen(fmt), 0xFFFF); }/* debug print */ int os_printf(const char *fmt, ...) {int length;va_list args;va_start(args, fmt);length vsnprintf(rt_log_buf, sizeof(rt_log_buf) - 1, fmt, args);uart2_put(rt_log_buf);return length; }int uart2_init(uint32_t baud_rate) {huart2.Instance USART2;huart2.Init.BaudRate baud_rate;huart2.Init.WordLength UART_WORDLENGTH_8B;huart2.Init.StopBits UART_STOPBITS_1;huart2.Init.Parity UART_PARITY_NONE;huart2.Init.Mode UART_MODE_TX_RX;huart2.Init.HwFlowCtl UART_HWCONTROL_NONE;huart2.Init.OverSampling UART_OVERSAMPLING_16;huart2.Init.OneBitSampling UART_ONE_BIT_SAMPLE_DISABLE;huart2.AdvancedInit.AdvFeatureInit UART_ADVFEATURE_NO_INIT;return HAL_UART_Init(huart2); }说明 这里通过 C 标准库 vsnprintf 实现格式化打印定义一个 全局的 buffer。 新建 uart2.h 头文件 #ifndef __UART2_H__ #define __UART2_H__#include stdint.hint uart2_init(uint32_t baud_rate); int os_printf(const char *fmt, ...);#endifmain 函数调用 首先包含 #include uart2.h然后 初始化串口uart2_init(UART2_BAUD_RATE);然后就可以使用 os_printf 格式化打印了 格式化打印的意思就是可以像 printf 那样把一个数值 打印输出 十进制、十六进制等工程也可以 %s 输出一个字符串 修改后的 main.c 如下 #include main.h #include led.h #include app_cfg.h #include os.h #include uart2.hvoid SystemClock_Config(void); static void MX_GPIO_Init(void);#define UART2_BAUD_RATE 115200 #define MCU_FREQUENCY 80000000#define TASK_LED_PRIO 5 #define TASK_LED_STACK_SIZE 128 static OS_STK task_led_stack[TASK_LED_STACK_SIZE];static void task_led_entry(void *p_arg) {int cnt 0;while (1){led_grn_ctrl(1);OSTimeDly(1000);led_grn_ctrl(0);OSTimeDly(1000);cnt;os_printf(%s : cnt : %d\r\n, __func__, cnt);} }void led_task_init(void) {OSTaskCreate(task_led_entry,(void *)0, task_led_stack[TASK_LED_STACK_SIZE-1], TASK_LED_PRIO); }HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority) {return HAL_OK; }/*** brief The application entry point.* retval int*/ int main(void) {HAL_Init();SystemClock_Config();MX_GPIO_Init();uart2_init(UART2_BAUD_RATE);os_printf(%s : uC-OS2 Starting...\r\n, __func__);OSInit();led_task_init();OS_CPU_SysTickInitFreq(MCU_FREQUENCY);OSStart();return 0; }串口信息 编译、烧写到开发板查看 串口的信息当前配置的串口波特率是 115200 bps 当前串口打印信息正常 小结 本篇主要在 uC-OS2 上实现 类似于 printf 的串口格式化打印输出功能适配串口驱动 接下来继续研究 uC-OS2 上实现串口的 shell 等功能不断的深入熟悉 uC-OS2 的各个模块
http://www.pierceye.com/news/989943/

相关文章:

  • 有关网站招标商务标书怎么做做终端客户网站
  • c 网站做微信收款功能青岛网站建设定制
  • 贵州安顺建设主管部门网站网站全程设计技术
  • 公司宣传网站建设企业网站建设与实现的论文
  • 连云港网站建设推广网站的推广优化
  • 手机商城网站制作公司网站版面设计方案
  • 网站开发制作熊掌号网站推广方法主要有什么
  • 怎么查看网站的建设时间提高企业网站的访问率
  • 宁德做网站的公司长沙网站建设 芙蓉区
  • 兴平市住房和城乡建设局门户网站会员管理网站建设
  • 做seo的网站是怎么样的上饶小程序开发公司
  • 网站硬件需求建网站网站
  • 网站主机域名合肥室内装修设计培训
  • 上海网站优化网站对企业的作用
  • 哪些园林网站可以做外链网址怎么注册
  • 做网站域名服务器wordpress 互动性
  • 微信网站欣赏好看的旅游网站模版
  • 甘肃省嘉峪关建设局网站wordpress android下载
  • wordpress 调用discuzseo营销是什么
  • 广州市律师网站建设怎么样建行网站会员注册用户名
  • 免费建站哪个好asp网站没有数据库
  • 文化馆网站建设方案建设中网站首页
  • 模板网站是什么郑州网站seo公司
  • 阿里云服务器网站开发正规品牌网站设计品牌
  • 网站突然搜不到了我是做装修什么网站可以
  • 外国网站在内地做seo食品网站模板
  • 网站推广名片wordpress 数据库查询数据库
  • 自己搭建的ftp怎么做网站线上推广员
  • 网站开发设计大赛北京seo招聘信息
  • 营销型网站是什么云南网站设计流程