{ "prompt": [ { "pid": "f29ace87-2", "author": "mike", "pname": "写作素材搜集", "icon": "https://devbit-static.oss-cn-beijing.aliyuncs.com/ai100/imgs/default-2.png", "category": "生活助手", "desc": "输入主题,即可提供与主题相关的数据和来源作为素材", "caseList": "[{\"type\":\"right\",\"message\":\"中国的餐饮市场\",\"checked\":true},{\"type\":\"left\",\"sid\":\"\",\"message\":\"1. 中国餐饮市场规模达到4.5万亿元(约合7000亿美元)(来源:中国餐饮协会)\\n\\n2. 中国餐饮行业年均增长率为10%以上,预计到2025年将达到10.8万亿元(来源:艾瑞咨询)\\n\\n3. 中国最大的餐饮企业为海底捞,2019年其营业收入达到166亿元人民币(来源:财富中文网)\\n\\n4. 中国消费者越来越注重餐饮卫生和食品安全,2019年全国餐饮业检查发现问题数量为40.5万起(来源:中国食品药品检验检测协会)\\n\\n5. 中国快餐市场规模达到了1.5万亿元,其中外卖订单占比高达70%(来源:艾瑞咨询)\\n\\n6. 中国的餐饮消费呈现出年轻化和多元化趋势,80后和90后是主要消费群体(来源:新华网)\\n\\n7. 中国餐饮行业的数字化转型正在加速,2019年全国外卖交易额达到6919亿元(来源:中国互联网络信息中心)\\n\\n8. 中国餐饮业的人力成本占比较高,据统计,餐饮企业平均人力成本约占销售额的30%-40%(来源:中国餐饮协会)\\n\\n9. 中国餐饮业的创新和品牌建设正在步入快车道,越来越多的本土餐饮品牌开始走出国门(来源:中国餐饮报)\\n\\n10. 中国餐饮业的绿色可持续发展已成为行业共识,越来越多的餐饮企业开始关注环保和可持续性发展(来源:中国餐饮协会)\",\"checked\":true}]", "ctime": "2023-05-13 11:51:19", "utime": null }, { "pid": "ec808493-8", "author": "chenbangwei", "pname": "文字冒险游戏", "icon": "https://devbit-static.oss-cn-beijing.aliyuncs.com/ai100/imgs/default-23.png", "category": "娱乐文化", "desc": "请你输入你想玩的游戏类型如:航海冒险游戏,盗墓冒险游戏,科幻类冒险游戏。。。。\n如:我想玩航海冒险游戏,现在开始", "caseList": "[{\"type\":\"right\",\"message\":\"我要玩盗墓冒险文字游戏,现在开始\",\"checked\":true},{\"type\":\"left\",\"sid\":\"\",\"message\":\"好的,让我们开始盗墓冒险吧!\\n\\n你现在身处于一座古老的墓穴内,四周是黑暗和沉默。你能看到的唯一的东西就是你手中的手电筒,它的微弱光芒在你身边划过。你能感受到一股神秘的气息,让你觉得这个墓穴里藏着一些非常珍贵的东西。\\n\\n你的前方是一个巨大的石门,门上刻着一些奇怪的符号,你不知道它们的含义。在门旁边,有一个石头柱子,上面插着一把古老的铜钥匙。除此之外,你看不到其他的出路。\\n\\n你要采取什么行动?\\n\\n1. 拿起铜钥匙,试图打开石门。\\n2. 调查石门上的符号,看看有没有线索。\\n3. 搜寻墓穴,看看有没有其他的出路。\\n\\n请选择你的行动。\",\"checked\":true},{\"type\":\"right\",\"message\":\"1\",\"checked\":true},{\"type\":\"left\",\"sid\":\"\",\"message\":\"你来到了一片荒芜的沙漠,周围是一片黄沙,天空中烈日高照,你渴得口干舌燥。在你的身边,有一瓶装满水的水壶和一把折叠式铁铲。远处有一只骆驼在独自徘徊,周围没有其他生物。\\n\\n你感到口渴,想要喝水。你打开水壶,发现里面只有一半的水,你该怎么办?\\n\\n问题:你选择继续前进还是在原地等待?\",\"checked\":true},{\"type\":\"right\",\"message\":\"前进\",\"checked\":true},{\"type\":\"left\",\"sid\":\"\",\"message\":\"你走进了一条黑暗的洞穴。你的手电筒照亮了前方,你看到了洞穴中的一些石头和地面上的一些树枝。你听到了远处传来的低沉声响,好像有什么生物在发出声音。你注意到洞穴的右边有一扇铁门,门上有一个大锁。\\n\\n你想要继续前进吗?或者你想要仔细观察一下周围的环境吗?\",\"checked\":true},{\"type\":\"right\",\"message\":\"前进\",\"checked\":true},{\"type\":\"left\",\"sid\":\"\",\"message\":\"你来到了一座神秘的森林,周围环绕着高大的树木,阳光透过树叶的缝隙洒下来,地面上覆盖着厚厚的落叶。你看到一条小径通往深处,而小径旁边有一块石头。在石头旁边蹲着一只小松鼠,它看起来在啃着一颗坚果。\\n\\n你想要前进,但你也可以选择和小松鼠交互。你想怎么做?\\n\\n(如果你选择与小松鼠交互,请问你会说什么?)\",\"checked\":true}]", "ctime": "2023-05-18 10:53:36", "utime": null }, { "pid": "0c34a18f-b", "author": "SuperBill", "pname": "产品经理", "icon": "https://devbit-static.oss-cn-beijing.aliyuncs.com/ai100/imgs/default-17.png", "category": "职业职场", "desc": "我是一个产品经理,根据要求生成PRD", "caseList": "[{\"type\":\"right\",\"message\":\"设计一款摄像头,能够直播与回放\",\"checked\":true},{\"type\":\"left\",\"sid\":\"\",\"message\":\"好的,以下是你需要的PRD:\\n\\n主题:直播与回放摄像头\\n\\n介绍:这款摄像头旨在提供高质量的直播和回放功能,适用于多种场景,例如会议、演讲、演唱会等。\\n\\n问题陈述:当前市场上的摄像头大多只提供直播功能,缺乏回放功能,或者回放功能质量较低,不能满足用户的需求。\\n\\n目标和目的:\\n\\n- 目标:设计一款具有高质量直播和回放功能的摄像头,能够满足用户的需求。\\n- 目的:提高用户的使用体验,增加产品竞争力。\\n\\n用户故事:\\n\\n- 作为一名演讲者,我希望能够使用一款摄像头,能够直播我的演讲,并且能够保存回放视频,以便后续分享和观看。\\n- 作为一名会议组织者,我希望能够使用一款摄像头,能够直播会议,并且能够保存回放视频,以便后续参会者观看。\\n- 作为一名歌手,我希望能够使用一款摄像头,能够直播我的演唱会,并且能够保存回放视频,以便后续分享和观看。\\n\\n技术要求:\\n\\n- 摄像头分辨率不低于1080p,帧率不低于30fps。\\n- 支持H.264、H.265等多种视频编码格式。\\n- 支持RTMP等多种直播协议。\\n- 支持本地存储、云存储等多种回放方式。\\n- 支持远程控制,例如调整摄像头角度、变焦等功能。\\n\\n好处:\\n\\n- 提供高质量的直播和回放功能,能够满足用户的需求。\\n- 增加产品竞争力,提高用户满意度。\\n- 提供多种存储方式,方便用户管理和分享视频。\\n\\n关键绩效指标:\\n\\n- 直播和回放视频质量。\\n- 用户使用体验。\\n- 产品销售和市场份额。\\n\\n开发风险:\\n\\n- 技术难度较大,需要投入大量人力和物力。\\n- 市场需求不确定,需要进行市场调研和分析。\\n\\n结论:这款直播与回放摄像头有着广泛的应用前景,能够满足用户的需求,并且具有一定的市场潜力。但是需要进行市场调研和技术研发,以确保产品的质量和竞争力。\",\"checked\":true}]", "ctime": "2023-05-17 17:35:40", "utime": null }, { "pid": "86b68185-d", "author": "SuperBill", "pname": "英语翻译大师", "icon": "https://devbit-static.oss-cn-beijing.aliyuncs.com/ai100/imgs/default-13.png", "category": "生活助手", "desc": "我会把任何文本都翻译成优雅英语", "caseList": "[{\"type\":\"right\",\"message\":\"白日依山尽,黄河入海流\",\"checked\":true},{\"type\":\"left\",\"sid\":\"\",\"message\":\"The sun sinks behind the mountains, and the Yellow River flows into the sea.\",\"checked\":true},{\"type\":\"right\",\"message\":\"태양은 산 끝에 있고 노란 강은 바다로 흐릅니다\",\"checked\":true},{\"type\":\"left\",\"sid\":\"\",\"message\":\"The sun rests atop the mountain peak, while the yellow river flows into the sea.\",\"checked\":true}]", "ctime": "2023-05-17 16:34:19", "utime": null }, { "pid": "a3ebbc49-b", "author": "mike", "pname": "视频脚本大师", "icon": "https://devbit-static.oss-cn-beijing.aliyuncs.com/ai100/icon/prompt/1682434866771.jpg", "category": "生活助手", "desc": "一键生成热门视频脚本文案。", "caseList": "[{\"type\":\"right\",\"message\":\"我要发布一个潮品T恤营销推广视频\",\"checked\":true},{\"type\":\"left\",\"sid\":\"2fca3efdbd344b3ea172d40153511e9d\",\"message\":\"开场画面:一位年轻时尚的男女穿着酷炫的潮品T恤走在城市街头,周围路人羡慕的目光不断投来。\\n\\n背景音乐:电子音乐节奏感强烈,让人感觉充满活力和激情。\\n\\n旁白:在这个时尚的世界里,T恤是最常见的服饰之一,而潮品T恤则更是让你的穿搭变得与众不同。\\n\\n镜头切换:男女分别穿着不同款式的潮品T恤,在城市中自由奔跑,展现出年轻人的活力和自信。\\n\\n旁白:潮品T恤不仅仅是一件服饰,更是一种态度。它代表着独立、自由、个性。\\n\\n镜头切换:男女在街头遇到了一起穿着潮品T恤的小伙伴们,大家一起跳起了街舞,气氛热烈。\\n\\n旁白:潮品T恤可以让你与志同道合的人一起分享快乐。\\n\\n镜头切换:男女走进了一家潮品T恤专卖店,店内陈列着各种新款酷炫T恤。\\n\\n旁白:如果你想拥有独一无二的穿搭风格,那么就来我们的店里选一件潮品T恤吧!\\n\\n结尾画面:男女手捧着自己喜欢的潮品T恤,微笑着向镜头,背景音乐渐渐淡出。\\n\\n旁白:潮品T恤,让你的穿搭更有态度。来我们的店里,挑选一件属于你的潮品T恤吧!\",\"checked\":true}]", "ctime": "2023-04-26 00:03:34", "utime": null }, { "pid": "a899f7ca-8", "author": "mike", "pname": "爆款标题神器", "icon": "https://devbit-static.oss-cn-beijing.aliyuncs.com/ai100/imgs/default-9.png", "category": "生活助手", "desc": "能根据简单的提示词,轻松生成各类爆款标题文案", "caseList": "[{\"type\":\"right\",\"message\":\"我要做一个美甲品牌的推广 \",\"checked\":true},{\"type\":\"left\",\"sid\":\"\",\"message\":\"1. 【美甲必备】轻松DIY,让你轻松拥有指尖上的艺术品\\n2. 【美甲新品】超美设计,让你的指甲闪耀夏日阳光\\n3. 【时尚美甲】流行元素,打造个性魅力的指尖时尚\\n4. 【美甲新技能】掌握精湛技巧,打造完美指甲艺术\\n5. 【美甲小技巧】一步到位,让你的指甲比美专业美甲师\\n6. 【美甲新趋势】颠覆传统,让你的指尖焕发时尚光彩\\n7. 【美甲灵感】源自大自然,让你的指甲展现神秘自然的美\\n8. 【美甲口碑】众多美甲爱好者的选择,让你的指甲更加出众\\n9. 【美甲秘籍】教你如何打造不同场合的指尖时尚造型\\n10. 【美甲心得】分享美甲经验,让你的指甲更加美丽动人\",\"checked\":true}]", "ctime": "2023-05-11 23:55:03", "utime": null }, { "pid": "6bdb5ee7-4", "author": "Hukul", "pname": "代码优化大师", "icon": "https://devbit-static.oss-cn-beijing.aliyuncs.com/ai100/imgs/default-23.png", "category": "职业职场", "desc": "代码优化工具人", "caseList": "[{\"type\":\"right\",\"message\":\"if(NumberUtil.isGreater(total, BigDecimal.valueOf(100))){ e.put(\\\"gfsypj\\\",\\\"优\\\"); }else if(NumberUtil.isGreater(BigDecimal.valueOf(10),total)){ e.put(\\\"gfsypj\\\",\\\"差\\\"); }else{ e.put(\\\"gfsypj\\\",\\\"中\\\"); }\",\"checked\":true},{\"type\":\"left\",\"sid\":\"\",\"message\":\"如果总数大于100,将\\\"优\\\"赋值给e中的\\\"gfsypj\\\",如果总数小于等于10,将\\\"差\\\"赋值给e中的\\\"gfsypj\\\",否则将\\\"中\\\"赋值给e中的\\\"gfsypj\\\"。\\n\\n代码优化如下:\\n\\nif (total.compareTo(BigDecimal.valueOf(100)) > 0) {\\n e.put(\\\"gfsypj\\\", \\\"优\\\");\\n} else if (total.compareTo(BigDecimal.valueOf(10)) < 0) {\\n e.put(\\\"gfsypj\\\", \\\"差\\\");\\n} else {\\n e.put(\\\"gfsypj\\\", \\\"中\\\");\\n}\\n\\n在比较BigDecimal类型的值时,应该使用compareTo方法,而不是使用isGreater方法。同时,应该使用BigDecimal的valueOf方法来初始化BigDecimal类型的值。在中文描述中,应该将代码的意思用简短的语言描述出来。\",\"checked\":true}]", "ctime": "2023-05-12 09:49:38", "utime": null }, { "pid": "fa06c61e-b", "author": "zhanggsh", "pname": "PlcProgramWriting", "icon": "https://devbit-static.oss-cn-beijing.aliyuncs.com/ai100/icon/prompt/1683866171648.png", "category": "科技创新", "desc": "I specialise in writing programmable logic controller programs, mainly in SCL, and I am particularly familiar with the logic processing of complex algorithms, and with various industrial communication methods.", "caseList": "[{\"type\":\"right\",\"message\":\"请用SCL编程语言完成如下逻辑:逻辑时序: 按下启动按钮,三个气缸处于初始位; 气缸A开始动作,到达工作位; 气缸B开始动作,到达工作位; 气缸C开始动作,到达工作位; 按下回原点按钮,三个气缸同时回到初始位。\",\"checked\":true},{\"type\":\"left\",\"sid\":\"\",\"message\":\"SCL程序代码如下:\\n\\n```\\nFUNCTION_BLOCK FB_CYLINDER_CONTROL\\nVAR_INPUT\\n Start_Button : BOOL; // 启动按钮\\n Home_Button : BOOL; // 回原点按钮\\nEND_VAR\\nVAR_OUTPUT\\n Cylinder_A : BOOL; // 气缸A控制信号\\n Cylinder_B : BOOL; // 气缸B控制信号\\n Cylinder_C : BOOL; // 气缸C控制信号\\nEND_VAR\\nVAR\\n Step : BYTE := 0; // 运行步骤\\nEND_VAR\\n\\n// 气缸运动控制\\nCASE Step OF\\n // 初始状态\\n 0:\\n Cylinder_A := FALSE;\\n Cylinder_B := FALSE;\\n Cylinder_C := FALSE;\\n IF Start_Button THEN\\n Step := 1;\\n END_IF\\n // 气缸A开始动作\\n 1:\\n Cylinder_A := TRUE;\\n IF Cylinder_A_Positive_Feedback THEN\\n Step := 2;\\n END_IF\\n // 气缸B开始动作\\n 2:\\n Cylinder_B := TRUE;\\n IF Cylinder_B_Positive_Feedback THEN\\n Step := 3;\\n END_IF\\n // 气缸C开始动作\\n 3:\\n Cylinder_C := TRUE;\\n IF Cylinder_C_Positive_Feedback THEN\\n Step := 4;\\n END_IF\\n // 回原点按钮按下,三个气缸同时回到初始位\\n 4:\\n Cylinder_A := FALSE;\\n Cylinder_B := FALSE;\\n Cylinder_C := FALSE;\\n IF Home_Button THEN\\n Step := 0;\\n END_IF\\nEND_CASE\\n```\\n\\n其中,Cylinder_A_Positive_Feedback、Cylinder_B_Positive_Feedback和Cylinder_C_Positive_Feedback是气缸正反馈信号,表示气缸已经到达工作位。这些信号需要根据具体气缸的传感器信号进行定义。\",\"checked\":true}]", "ctime": "2023-05-12 13:38:25", "utime": null }, { "pid": "4175f903-3", "author": "toolsmanhehe", "pname": "stm32开发机器人", "icon": "https://devbit-static.oss-cn-beijing.aliyuncs.com/ai100/imgs/default-2.png", "category": "科技创新", "desc": "基于stm32训练", "caseList": "[{\"type\":\"right\",\"message\":\"通过串口2的dma方式接收来自蓝牙模块的不定长角度数据,然后驱动一个3200个脉冲转一圈的步进电机旋转接收到的角度,并通过串口1发送给电脑上位机\",\"checked\":true},{\"type\":\"left\",\"sid\":\"\",\"message\":\"以下是基于STM32F4的代码实现:\\n\\n```c\\n#include \\\"stm32f4xx.h\\\"\\n#include \\n#include \\n\\n#define BUFSIZE 50 // 接收缓存大小\\n#define STEPPER_PULS_PER_REV 3200 // 步进电机转一圈的脉冲数\\n\\n// 定义串口1和串口2的DMA接收缓存\\nuint8_t uart1_rxbuf[BUFSIZE];\\nuint8_t uart2_rxbuf[BUFSIZE];\\n\\n// 定义步进电机驱动相关GPIO\\n#define STEPPER_EN_PIN GPIO_Pin_0\\n#define STEPPER_EN_PORT GPIOC\\n#define STEPPER_DIR_PIN GPIO_Pin_1\\n#define STEPPER_DIR_PORT GPIOC\\n#define STEPPER_PUL_PIN GPIO_Pin_2\\n#define STEPPER_PUL_PORT GPIOC\\n\\n// 定义步进电机旋转方向\\n#define STEPPER_CW 0\\n#define STEPPER_CCW 1\\n\\n// 定义串口1和串口2的DMA传输完成标志\\nvolatile uint8_t uart1_dma_rx_complete = 0;\\nvolatile uint8_t uart2_dma_rx_complete = 0;\\n\\n// 初始化串口1\\nvoid uart1_init() {\\n // 使能串口1和GPIOB时钟\\n RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);\\n RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);\\n\\n // 配置PB6和PB7为复用功能\\n GPIO_InitTypeDef gpio_init;\\n gpio_init.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;\\n gpio_init.GPIO_Mode = GPIO_Mode_AF;\\n gpio_init.GPIO_Speed = GPIO_Speed_50MHz;\\n gpio_init.GPIO_OType = GPIO_OType_PP;\\n gpio_init.GPIO_PuPd = GPIO_PuPd_UP;\\n GPIO_Init(GPIOB, &gpio_init);\\n\\n // 将PB6和PB7映射到USART1的Tx和Rx引脚\\n GPIO_PinAFConfig(GPIOB, GPIO_PinSource6, GPIO_AF_USART1);\\n GPIO_PinAFConfig(GPIOB, GPIO_PinSource7, GPIO_AF_USART1);\\n\\n // 配置USART1\\n USART_InitTypeDef usart_init;\\n usart_init.USART_BaudRate = 115200;\\n usart_init.USART_WordLength = USART_WordLength_8b;\\n usart_init.USART_StopBits = USART_StopBits_1;\\n usart_init.USART_Parity = USART_Parity_No;\\n usart_init.USART_HardwareFlowControl = USART_HardwareFlowControl_None;\\n usart_init.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;\\n USART_Init(USART1, &usart_init);\\n\\n // 使能USART1\\n USART_Cmd(USART1, ENABLE);\\n\\n // 使能USART1接收中断\\n USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);\\n\\n // 配置USART1的DMA接收\\n RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2, ENABLE);\\n DMA_InitTypeDef dma_init;\\n dma_init.DMA_Channel = DMA_Channel_4;\\n dma_init.DMA_PeripheralBaseAddr = (uint32_t)&(USART1->DR);\\n dma_init.DMA_Memory0BaseAddr = (uint32_t)uart1_rxbuf;\\n dma_init.DMA_DIR = DMA_DIR_PeripheralToMemory;\\n dma_init.DMA_BufferSize = BUFSIZE;\\n dma_init.DMA_PeripheralInc = DMA_PeripheralInc_Disable;\\n dma_init.DMA_MemoryInc = DMA_MemoryInc_Enable;\\n dma_init.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte;\\n dma_init.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;\\n dma_init.DMA_Mode = DMA_Mode_Circular;\\n dma_init.DMA_Priority = DMA_Priority_High;\\n dma_init.DMA_FIFOMode = DMA_FIFOMode_Disable;\\n dma_init.DMA_FIFOThreshold = DMA_FIFOThreshold_HalfFull;\\n dma_init.DMA_MemoryBurst = DMA_MemoryBurst_Single;\\n dma_init.DMA_PeripheralBurst = DMA_PeripheralBurst_Single;\\n DMA_Init(DMA2_Stream5, &dma_init);\\n\\n // 使能USART1的DMA接收\\n USART_DMACmd(USART1, USART_DMAReq_Rx, ENABLE);\\n DMA_Cmd(DMA2_Stream5, ENABLE);\\n\\n // 配置DMA2_Stream5的中断\\n NVIC_InitTypeDef nvic_init;\\n nvic_init.NVIC_IRQChannel = DMA2_Stream5_IRQn;\\n nvic_init.NVIC_IRQChannelPreemptionPriority = 0;\\n nvic_init.NVIC_IRQChannelSubPriority = 0;\\n nvic_init.NVIC_IRQChannelCmd = ENABLE;\\n NVIC_Init(&nvic_init);\\n}\\n\\n// 初始化串口2\\nvoid uart2_init() {\\n // 使能串口2和GPIOD时钟\\n RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);\\n RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);\\n\\n // 配置PD5和PD6为复用功能\\n GPIO_InitTypeDef gpio_init;\\n gpio_init.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6;\\n gpio_init.GPIO_Mode = GPIO_Mode_AF;\\n gpio_init.GPIO_Speed = GPIO_Speed_50MHz;\\n gpio_init.GPIO_OType = GPIO_OType_PP;\\n gpio_init.GPIO_PuPd = GPIO_PuPd_UP;\\n GPIO_Init(GPIOD, &gpio_init);\\n\\n // 将PD5和PD6映射到USART2的Tx和Rx引脚\\n GPIO_PinAFConfig(GPIOD, GPIO_PinSource5, GPIO_AF_USART2);\\n GPIO_PinAFConfig(GPIOD, GPIO_PinSource6, GPIO_AF_USART2);\\n\\n // 配置USART2\\n USART_InitTypeDef usart_init;\\n usart_init.USART_BaudRate = 9600;\\n usart_init.USART_WordLength = USART_WordLength_8b;\\n usart_init.USART_StopBits = USART_StopBits_1;\\n usart_init.USART_Parity = USART_Parity_No;\\n usart_init.USART_HardwareFlowControl = USART_HardwareFlowControl_None;\\n usart_init.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;\\n USART_Init(USART2, &usart_init);\\n\\n // 使能USART2\\n USART_Cmd(USART2, ENABLE);\\n\\n // 配置USART2的DMA接收\\n RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA1, ENABLE);\\n DMA_InitTypeDef dma_init;\\n dma_init.DMA_Channel = DMA_Channel_4;\\n dma_init.DMA_PeripheralBaseAddr = (uint32_t)&(USART2->DR);\\n dma_init.DMA_Memory0BaseAddr = (uint32_t)uart2_rxbuf;\\n dma_init.DMA_DIR = DMA_DIR_PeripheralToMemory;\\n dma_init.DMA_BufferSize = BUFSIZE;\\n dma_init.DMA_PeripheralInc = DMA_PeripheralInc_Disable;\\n dma_init.DMA_MemoryInc = DMA_MemoryInc_Enable;\\n dma_init.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte;\\n dma_init.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;\\n dma_init.DMA_Mode = DMA_Mode_Circular;\\n dma_init.DMA_Priority = DMA_Priority_High;\\n dma_init.DMA_FIFOMode = DMA_FIFOMode_Disable;\\n dma_init.DMA_FIFOThreshold = DMA_FIFOThreshold_HalfFull;\\n dma_init.DMA_MemoryBurst = DMA_MemoryBurst_Single;\\n dma_init.DMA_PeripheralBurst = DMA_PeripheralBurst_Single;\\n DMA_Init(DMA1_Stream5, &dma_init);\\n\\n // 使能USART2的DMA接收\\n USART_DMACmd(USART2, USART_DMAReq_Rx, ENABLE);\\n DMA_Cmd(DMA1_Stream5, ENABLE);\\n\\n // 配置DMA1_Stream5的中断\\n NVIC_InitTypeDef nvic_init;\\n nvic_init.NVIC_IRQChannel = DMA1_Stream5_IRQn;\\n nvic_init.NVIC_IRQChannelPreemptionPriority = 0;\\n nvic_init.NVIC_IRQChannelSubPriority = 0;\\n nvic_init.NVIC_IRQChannelCmd = ENABLE;\\n NVIC_Init(&nvic_init);\\n}\\n\\n// 初始化步进电机驱动相关GPIO\\nvoid stepper_init() {\\n // 使能GPIOC时钟\\n RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);\\n\\n // 配置PC0、PC1和PC2为推挽输出\\n GPIO_InitTypeDef gpio_init;\\n gpio_init.GPIO_Pin = STEPPER_EN_PIN | STEPPER_DIR_PIN | STEPPER_PUL_PIN;\\n gpio_init.GPIO_Mode = GPIO_Mode_OUT;\\n gpio_init.GPIO_Speed = GPIO_Speed_50MHz;\\n gpio_init.GPIO_OType = GPIO_OType_PP;\\n gpio_init.GPIO_PuPd = GPIO_PuPd_NOPULL;\\n GPIO_Init(GPIOC, &gpio_init);\\n\\n // 使能步进电机驱动\\n GPIO_SetBits(STEPPER_EN_PORT, STEPPER_EN_PIN);\\n}\\n\\n// 步进电机旋转\\nvoid stepper_rotate(float angle) {\\n // 计算需要旋转的步数\\n int steps = (int)(angle / 360 * STEPPER_PULS_PER_REV);\\n\\n // 设置步进电机旋转方向\\n if (steps >= 0) {\\n GPIO_ResetBits(STEPPER_DIR_PORT, STEPPER_DIR_PIN);\\n } else {\\n GPIO_SetBits(STEPPER_DIR_PORT, STEPPER_DIR_PIN);\\n steps = -steps;\\n }\\n\\n // 旋转步进电机\\n for (int i = 0; i < steps; i++) {\\n GPIO_SetBits(STEPPER_PUL_PORT, STEPPER_PUL_PIN);\\n GPIO_ResetBits(STEPPER_PUL_PORT, STEPPER_PUL_PIN);\\n }\\n}\\n\\n// 串口1的DMA接收完成中断处理函数\\nvoid DMA2_Stream5_IRQHandler() {\\n if (DMA_GetFlagStatus(DMA2_Stream5, DMA_FLAG_TCIF5)) {\\n DMA_ClearFlag(DMA2_Stream5, DMA_FLAG_TCIF5);\\n uart1_dma_rx_complete = 1;\\n }\\n}\\n\\n// 串口2的DMA接收完成中断处理函数\\nvoid DMA1_Stream5_IRQHandler() {\\n if (DMA_GetFlagStatus(DMA1_Stream5, DMA_FLAG_TCIF5)) {\\n DMA_ClearFlag(DMA1_Stream5, DMA_FLAG_TCIF5);\\n uart2_dma_rx_complete = 1;\\n }\\n}\\n\\nint main() {\\n // 初始化串口1、串口2和步进电机驱动\\n uart1_init();\\n uart2_init();\\n stepper_init();\\n\\n while (1) {\\n // 等待串口2的DMA接收完成\\n while (!uart2_dma_rx_complete);\\n uart2_dma_rx_complete = 0;\\n\\n // 处理接收到的角度数据\\n float angle = atof((char*)uart2_rxbuf); // 将接收缓存中的字符串转换为浮点数\\n memset(uart2_rxbuf, 0, BUFSIZE); // 清空接收缓存\\n\\n // 旋转步进电机\\n stepper_rotate(angle);\\n\\n // 发送旋转后的角度给电脑上位机\\n char txbuf[20];\\n sprintf(txbuf, \\\"angle: %.2f\\\\r\\\\n\\\", angle);\\n USART_SendString(USART1, txbuf);\\n }\\n}\\n\\n// 发送字符串到指定的USART\\nvoid USART_SendString(USART_TypeDef* USARTx, char* str) {\\n while (*str) {\\n while (USART_GetFlagStatus(USARTx, USART_FLAG_TXE) == RESET);\\n USART_SendData(USARTx, *str++);\\n }\\n}\\n```\\n\\n上述代码实现了通过串口2的DMA方式接收来自蓝牙模块的不定长角度数据,并通过串口1发送给电脑上位机,同时驱动一个3200个脉冲转一圈的步进电机旋转接收到的角度。其中包括了串口1和串口2的初始化、步进电机驱动相关GPIO的初始化、DMA传输完成中断处理函数、步进电机旋转函数、发送字符串到USART的函数等。\",\"checked\":true}]", "ctime": "2023-05-16 20:20:58", "utime": null }, { "pid": "2c43d6c6-b", "author": "mike", "pname": "Midjourney提示生成器", "icon": "https://devbit-static.oss-cn-beijing.aliyuncs.com/ai100/imgs/default-16.png", "category": "生活助手", "desc": "通过为提供的图像描述填充详细且有创意的描述,激发Midjourney生成独特有趣的图像", "caseList": "[{\"type\":\"right\",\"message\":\"一位年轻,美丽,性感的亚洲女孩\",\"checked\":true},{\"type\":\"left\",\"sid\":\"\",\"message\":\"在这幅图像中,我们可以看到一个年轻的亚洲女孩,她的黑色头发蓬松而厚重,覆盖着她修长的肩膀。她的脸上散发着自信和优雅,她的眼睛深邃而有神,犹如两颗闪烁着星光的黑宝石。她的嘴唇微微上扬,似乎在微笑,散发出一种迷人的魅力。\\n\\n这位女孩身着一件金色的连衣裙,贴身而又修身,凸显出她完美的身材曲线。她的皮肤白皙而光滑,仿佛散发着柔软的光泽,让人不禁想要触摸一下。\\n\\n周围的环境也很迷人:一片开满了鲜花的草地,清澈的湖水映照着天空中的云彩,周围还有一些小鸟在欢快地唱歌。整个画面散发着一种柔和而又温馨的气息,让人感到心情愉悦。\",\"checked\":true}]", "ctime": "2023-05-12 15:36:06", "utime": null }, { "pid": "0803bf5a-7", "author": "colorant", "pname": "SQL大师", "icon": "https://devbit-static.oss-cn-beijing.aliyuncs.com/ai100/imgs/default-10.png", "category": "问答学习", "desc": "写SQL", "caseList": "[{\"type\":\"right\",\"message\":\"怎么统计gmv\",\"checked\":true},{\"type\":\"left\",\"sid\":\"\",\"message\":\"统计GMV(Gross Merchandise Volume,即商品交易总额)的常用方式是通过数据仓库中的订单表来计算。假设我们有一个订单表`orders`,其中包含订单编号`order_id`、下单时间`order_time`、订单金额`amount`等字段,那么可以使用以下SparkSQL脚本来统计GMV:\\n\\n```\\nSELECT SUM(amount) as gmv\\nFROM orders\\n```\\n\\n这个脚本会对订单表进行聚合操作,将所有订单的金额相加得到总的GMV。可以将这个脚本保存为一个SQL文件,然后使用SparkSQL命令行工具或者Spark程序来执行。\",\"checked\":true}]", "ctime": "2023-05-17 18:00:59", "utime": null }, { "pid": "bf48a0d6-f", "author": "bigeyes", "pname": "文本提炼专家", "icon": "https://devbit-static.oss-cn-beijing.aliyuncs.com/ai100/imgs/default-28.png", "category": "语言沟通", "desc": "帮助你实现文本提炼", "caseList": "[{\"type\":\"right\",\"message\":\" BERT,基于transformer的双向编码表示,它是一个预训练模型,模型训练时的两个任务是预测句子中被掩盖的词以及判断输入的两个句子是不是上下句。在预训练好的BERT模型后面根据特定任务加上相应的网络,可以完成NLP的下游任务,比如文本分类、机器翻译等。 虽然BERT是基于transformer的,但是它只使用了transformer的encoder部分,它的整体框架是由多层transformer的encoder堆叠而成的。每一层的encoder则是由一层muti-head-attention和一层feed-forword组成,大的模型有24层,每层16个attention,小的模型12层,每层12个attention。每个attention的主要作用是通过目标词与句子中的所有词汇的相关度,对目标词重新编码。所以每个attention的计算包括三个步骤:计算词之间的相关度,对相关度归一化,通过相关度和所有词的编码进行加权求和获取目标词的编码。 在通过attention计算词之间的相关度时,首先通过三个权重矩阵对输入的序列向量(512*768)做线性变换,分别生成query、key和value三个新的序列向量,用每个词的query向量分别和序列中的所有词的key向量做乘积,得到词与词之间的相关度,然后这个相关度再通过softmax进行归一化,归一化后的权重与value加权求和,得到每个词新的编码。\",\"checked\":true},{\"type\":\"left\",\"sid\":\"\",\"message\":\"BERT是一种基于transformer的双向编码表示的预训练模型,通过预测被掩盖的词和判断输入的句子来训练。它可以通过加上特定任务的网络完成NLP下游任务。BERT的整体框架由多层transformer的encoder堆叠而成,每一层包括muti-head-attention和feed-forword。每个attention通过计算词之间的相关度,对目标词进行重新编码。计算相关度的过程包括线性变换、乘积、softmax归一化和加权求和。\",\"checked\":true}]", "ctime": "2023-05-17 11:05:51", "utime": null }, { "pid": "04f501a2-a", "author": "Neo", "pname": "帮助你解决实际问题的顾问", "icon": "https://devbit-static.oss-cn-beijing.aliyuncs.com/ai100/imgs/default-9.png", "category": "生活助手", "desc": "我不会直接给你答案,但我通过提问来促进你的思考,完善你的想法", "caseList": "[{\"type\":\"right\",\"message\":\"要怎么做到对一个不听话的孩子忍住不发火呢?\",\"checked\":true},{\"type\":\"left\",\"sid\":\"\",\"message\":\"理解孩子的行为背后的原因是解决这个问题的关键。以下是一些需要思考的问题:\\n\\n一级问题:孩子为什么不听话?\\n\\n- 二级问题1:孩子是否理解你的要求?\\n- 二级问题2:孩子是否有其他需求或愿望?\\n- 二级问题3:孩子是否正在经历情感或生理上的困难?\\n\\n解答这些问题可以帮助你理解孩子的行为,从而更好地控制自己的情绪并找到合适的解决方法。\\n\\n当你意识到孩子不是故意违抗你的指令时,你可能会更容易控制自己的情绪。同时,尝试与孩子进行开放性的沟通,了解他们的需求和想法,并寻找一个双方都可以接受的解决方案。最重要的是,保持冷静,尊重孩子的感受,并试图建立一种相互尊重的关系。\",\"checked\":true}]", "ctime": "2023-05-13 22:52:04", "utime": null }, { "pid": "5f8670ae-c", "author": "AI100", "pname": "哲学老师", "icon": "https://devbit-static.oss-cn-beijing.aliyuncs.com/ai100/imgs/default-8.png", "category": "通俗问答", "desc": "给我一个话题,我会用通俗易懂的话术向你解释相关概念", "caseList": "[{\"type\":\"right\",\"message\":\"你觉得是先有鸡还是先有蛋\",\"checked\":true},{\"type\":\"left\",\"sid\":\"\",\"message\":\"这是一个古老的哲学问题,也被称为“鸡蛋问题”。其实这个问题的答案并不是那么重要,因为它更像是一个谜语或者玩笑话,而不是一个真正的哲学问题。但是我们可以从这个问题中探讨一些哲学概念。\\n\\n首先,这个问题涉及到因果关系。如果我们假设鸡是先出现的,那么我们可以说鸡是蛋的原因,因为鸡的存在导致了蛋的产生。反之,如果我们假设蛋是先出现的,那么我们可以说蛋是鸡的原因,因为蛋的存在导致了鸡的产生。这引出了一个更广泛的哲学问题:事件之间的因果关系是如何运作的?\\n\\n其次,这个问题也涉及到生命起源的问题。无论是先有鸡还是先有蛋,都需要有一个起源,也就是生命的起源。哲学家和科学家一直在探索生命起源的问题,但是到目前为止,我们仍然没有完全理解生命的起源是如何发生的。\\n\\n最后,这个问题也可以引出一些哲学思考,例如我们如何定义“鸡”或“蛋”?这些定义是基于生物学特征,还是基于我们人类的观察和分类?这些问题可以引导我们思考语言和概念是如何形成的,以及我们如何理解和描述世界。\",\"checked\":true}]", "ctime": "2023-05-10 09:43:54", "utime": null } ], "video": [ { "name": "大语言模型:从应用到产出", "imgUrl": "https://cdn-static-devbit.csdn.net/ai100/icon/video_collection/banner_cource_2.png", "destUrl": "/openclass/classvideo/coll/15", "id": "15" }, { "name": "机器学习入门课程", "imgUrl": "https://cdn-static-devbit.csdn.net/ai100/icon/video_collection/course.jpg", "destUrl": "/openclass/classvideo/coll/3", "id": "3" } ], "pcindex": [ { "name": "首页banner", "imgUrl": "https://devbit-static.oss-cn-beijing.aliyuncs.com/ai100/icon/banner/1697702927052.jpg", "destUrl": "https://ai100.com.cn/", "id": "1" }, { "name": "5折banner", "imgUrl": "https://devbit-static.oss-cn-beijing.aliyuncs.com/ai100/icon/banner/1697703018304.jpg", "destUrl": "/dev/console/billing/pay", "id": "2" } ], "appindex": [ { "name": "首页banner", "imgUrl": "https://devbit-static.oss-cn-beijing.aliyuncs.com/ai100/icon/banner/1697714493402.jpg", "destUrl": "https://ai100.com.cn/", "id": "1" }, { "name": "5折活动-banner", "imgUrl": "https://devbit-static.oss-cn-beijing.aliyuncs.com/ai100/icon/banner/1697714511964.jpg", "destUrl": "/dev/console/billing/pay", "id": "2" } ] }