0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【爱普特APT32F110开发板工程师测评1】printf花式表白

爱普特微电子 2023-03-05 10:35 次阅读

APT32F110X 系列串口功能强大:可以完成STM32串口功能,驱动AT物联网模组不在话下。

资源串行通信接口:1 × I2C,3 x UART,1 x USART,1 x SPI,1 x SIO

通用异步收发器(UART)

3个通道

8位数据长度,支持校验位(奇偶校验,0/1校验)

单独的8x8位收发FIFO

编程的波特率


同步异步收发器(USART)

  • 1个通道
  • 支持5、6、7和8位数据长度
  • 单独的8x8位收发FIFO可编程的波特率
  • 校验位,帧检测和缓存溢出错误报告
  • 支持Loop-back模式
  • 支持同步全双工模式
  • 支持LIN总线协议:LIN1.2或者LIN2.0
  • 支持智能卡协议:ISO7816-3兼容

28b3dd58-b91d-11ed-ad0d-dac502259ad0.png编程实践:

时钟配置

void system_init(void)

{

CK_CPU_DISALLNORMALIRQ;

csi_iwdt_close();//close iwdt

csi_sysclk_config();//sysclk config

csi_get_sclk_freq();

csi_get_pclk_freq();

csi_tick_init();

csi_clk_calib();

CK_CPU_ENALLNORMALIRQ;

}

串口配置:115200波特率

__attribute__((weak)) void board_init(void)

{

//console config for print

console.uart_id = (uint32_t)CONSOLE_IDX;

console.baudrate = 115200U;

console.tx.pin = CONSOLE_TXD;

console.tx.func = CONSOLE_TXD_FUNC;

console.rx.pin = CONSOLE_RXD;

console.rx.func = CONSOLE_RXD_FUNC;

console.uart = (csp_uart_t *)(APB_UART0_BASE + CONSOLE_IDX * 0x1000);

console_init(&console);

#ifdef CONFIG_USER_PM//low power manage switch

if(csi_get_rst_reason() & RST_SRC_SNOOZE_WKUP)//wake up from snooze mode

{

g_tPmCore.wkup_frm_snooze = (void *)csi_ureg_read(USER_REG0);

if(g_tPmCore.wkup_frm_snooze)

g_tPmCore.wkup_frm_snooze();

}

else if(csi_get_rst_reason() & RST_SRC_SHD_WKUP)//wake up from shutdown mode

{

g_tPmCore.wkup_frm_shutdown = (void *)csi_ureg_read(USER_REG0);

if(g_tPmCore.wkup_frm_shutdown)

g_tPmCore.wkup_frm_shutdown();

}

#endif

}

花式打印表白啊,程序员哄女孩子的利器!!

先上图案:

28e4f9b0-b91d-11ed-ad0d-dac502259ad0.png

代码实现很简单, printf打印就可以了:

int main()

{

//start_system();

system_init();

board_init();

csi_pin_set_mux(PB02, PB02_OUTPUT); //PA06 output

csi_pin_set_high(PB02); //PA06 output high;

int a[23][80] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,0,0,0,0,0,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,0,0,0,0,2,2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,2,2,0,0,0,1,1,1,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,2,2,2,2,0,0,0,0,3,3,3,0,0,3,3,3,0,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,0,0,3,0,0,3,3,3,0,0,3,0,0,0,3,0,0,3,3,3,3,0,0,3,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,3,0,0,0,3,0,0,3,0,3,0,0,3,3,0,0,3,3,0,3,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,3,0,0,0,3,0,0,3,0,3,0,0,3,3,3,3,3,3,0,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,3,0,0,0,3,0,0,0,3,0,0,0,3,3,0,0,0,0,0,3,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,0,0,3,0,0,3,3,3,0,0,0,0,3,0,0,0,0,0,3,3,3,0,0,0,3,3,3,3,0,0,0,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

};

for(int i=0;i<23;i++)

for(int j=0;j<80;j++)

{

if(a[i][j] == 0)

my_printf(" ",a[i][j]);

else if(a[i][j] == 1)

my_printf("*",a[i][j]);

else if(a[i][j] == 2)

my_printf("o",a[i][j]);

else if(a[i][j] == 3)

my_printf("u",a[i][j]);

}

//my_printf("%d",a[i][j]);

my_printf("\n");

while(1)

{

//my_printf("Best wishes to every one\n"); //print message

mdelay(1000); //delay 100ms

csi_pin_toggle(PB02); //PA06 toggle

}

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2870

    文章

    41639

    浏览量

    358412
  • 开发板
    +关注

    关注

    25

    文章

    4434

    浏览量

    94032
收藏 人收藏

    评论

    相关推荐

    APT32F102 开发板使用手册

    电子发烧友网站提供《APT32F102 开发板使用手册.pdf》资料免费下载
    发表于 04-16 09:07 0次下载

    普特再推超高性价比全国产32位MCU—APT32F1025B

    近日,全国产32位MCU小巨人企业爱普特微电子宣布推出一款超高性价比的全国产RISC核32位MCU——APT32F1025B,进一步扩展丰富其在全国产、高性价比领域MCU产品系列布局
    的头像 发表于 03-29 08:17 160次阅读
    爱<b class='flag-5'>普特</b>再推超高性价比全国产32位MCU—<b class='flag-5'>APT</b>32F1025B

    芯派 Pro 开发板试用体验】开箱测试

    的各种纸盒包装结实很多。 打开后发现,其中包括一个开发板和电源。还有一个口袋里面有个螺母,不知道什么用途,我现在把它安装在电源的接头上了,好像也不是特别合适。 开发板上的各种接口似乎都是双份,包括
    发表于 11-20 22:09

    芯派 Pro 开发板试用体验】开箱报告

    开发板介绍 收到了芯派 Pro (AXera-Pi Pro)开发板,一个高能效比智能视觉芯片 AX650N,处理器是8核64位Cortex-A55架构,主频达1.7Ghz。内置高算力视频,图片处理
    发表于 11-13 13:18

    芯派 Pro 开发板试用体验】开箱报告

    (AI-ISP)。 一、开箱 一个金属盒子,上面有“MAIX-BOX-M4N”字样,有SIPEED设计制造。 盒子很漂亮,打开盒子里面分成两大块,左边是AXera-Pi Pro开发板真身,黑色
    发表于 11-12 00:31

    芯派 Pro 开发板试用体验】+基本使用环境配置

    芯派 Pro 开发板试用体验】+基本使用环境配置 登录系统 系统默认为debian系统,插入网线,插入显示器,鼠标、键盘,介绍基础系统使用操作。 将 M4N-Dock 连接上显示器后,可以看到
    发表于 11-11 20:44

    FPGA工程师需要具备哪些技能?

    。 FPGA工程师在进行DSP电路设计之前,需要深入了解数字信号处理技术。他们需要掌握数字信号处理中的概念和基础知识,例如滤波器、傅里叶变换、数字信号采样等。FPGA工程师还需要了解一些DSP开发板
    发表于 11-09 11:03

    普特32位MCU APT32F1023H8S6在BEEM咖啡机中的应用

    普特32位MCU APT32F1023H8S6在BEEM咖啡机中的应用
    的头像 发表于 09-19 16:52 549次阅读

    【新定义MCU开发板测评】点灯及流水灯

    、使用易码魔盒配置并初始化工程1)编写工程名称及路径,点击下一步 (2)选择开发板上对应的芯片型号,这块板子上的芯片型号是RD8T36P48,点击开始
    发表于 08-13 12:24

    【FireBeetle 2 ESP32-S3开发板体验】测评1_搭建开发环境

    1开发板开箱以及开发环境搭建 感谢电子发烧友社区提供的测评机会,参加DFRobot 的FireBeetle 2 ESP32-S3开发板
    发表于 07-29 21:40

    【FireBeetle 2 ESP32-S3开发板测评】MicroPython开发体验

    【FireBeetle 2 ESP32-S3开发板测评】MicroPython开发体验
    的头像 发表于 07-23 09:02 1238次阅读
    【FireBeetle 2 ESP32-S3<b class='flag-5'>开发板</b><b class='flag-5'>测评</b>】MicroPython<b class='flag-5'>开发</b>体验

    APT32F1023单片机RTC待机超低功耗电流3.5uA源代码分享

    APT32F1023H8S6(SSOP-24封装)MCU是由普特微电子推出的基于平头哥半导体RISC-V内核开发的32位高性能、低成本单片机,最近有个项目需要用到其超低功耗待机和RT
    发表于 06-26 05:09

    热门推荐:硬件工程师必备工具

    硬件开发的工作流程一般可分为:原理图设计、PCB Layout设计、采购电子BOM、PCB生产、PCBA组装、功能调试及测试、小批量试产、大批量生产正式投放市场等步骤。 作为一名优秀的硬件工程师
    发表于 06-21 10:15

    芯活动丨欢迎测评!昊芯参加电子发烧友第二届RISC-V开发板测评大赛

    继上届获得广大开发者/工程师积极申请与测评之后,昊芯于今年再度参加由电子发烧友网举办的第二届RISC-V开发板测评大赛活动,向参赛选手及团队
    的头像 发表于 06-05 09:57 501次阅读
    芯活动丨欢迎<b class='flag-5'>测评</b>!昊芯参加电子发烧友第二届RISC-V<b class='flag-5'>开发板</b><b class='flag-5'>测评</b>大赛

    【社区工程师专题系列第一期】坚持兴趣成就嵌入式工程师——杨永胜

    , shell 脚本, Linux & vim 用户 使用 kicad 绘制硬件电路 【社区之星】杨永胜:兴趣加努力,就是嵌入式工程师最好的前进之路 开发板评测&大赛作品
    发表于 05-19 10:25