DeepSeek是什么?
DeepSeek,一家以代碼編寫能力為核心競爭力的 AI 科技公司,致力于通過高性能 AI 模型賦能企業智能化轉型。公司擁有一支由頂尖程序員和 AI 專家組成的團隊,他們以卓越的代碼編寫能力,不斷優化和創新 AI 技術,為全球用戶提供高效、智能的解決方案。
DeepSeek 的 AI 模型以高效的代碼實現和強大的性能表現著稱,能夠在金融、醫療、教育等多個行業中發揮重要作用。其最新發布的大模型 R1,以極低的訓練成本達到了行業領先水平,彰顯了 DeepSeek 在代碼編寫和 AI 技術創新方面的強大實力。憑借卓越的代碼能力和創新的商業模式,DeepSeek 正逐步成為全球 AI 領域的佼佼者,為全球科技產業的發展貢獻力量。
之前還癡心妄想讓它幫我搭建二次開發環境,但是因為權限問題,DeepSeek 無法操作終端。
那就試試 DeepSeek 給 Ai-WB2 模組編程,能不能直接編譯運行呢?
在寫這帖子之前,做了好多測試,大部分時間浪費在了服務器繁忙這個問題上!
在開始讓 DeepSeek 生成之前,注意要提前搭建好 Ai-WB2 的二次開發環境和測試工程,生成的代碼才能直接復制。
提問技巧
AI 工具畢竟還不是人,所以在提問的時候,盡量提供要求和一些信息。比如使用那些庫,需要達到什么效果等。
如果回復較慢,可以試試 siliconflow:
鏈接:https://cloud.siliconflow.cn/models
GPIO 點燈
提問內容如下:
已經喜聞樂見了,接下來試試硅基流動的:
嘗試了兩次之后,至少生成了代碼,接下來完全不改動,復制測試一下:
#include#include #include #include // 包含硬件定時器頭文件 #include #include #define LED_PIN 3 // 定義GPIO3引腳 #define BLINK_INTERVAL 500 // 閃爍間隔500ms(周期1秒) void led_init(void) { /* 初始化GPIO時鐘 */ bl_gpio_enable_output(LED_PIN, 0, 0); // 配置GPIO3為輸出模式 /* 初始狀態設置為低電平(根據電路設計可能需要反轉) */ bl_gpio_output_set(LED_PIN, 0); } void led_blink_task(void *pvParameters) { while (1) { // 翻轉GPIO狀態 bl_gpio_output_set(LED_PIN, !bl_gpio_input_get(LED_PIN)); // 使用FreeRTOS延時函數 vTaskDelay(BLINK_INTERVAL / portTICK_PERIOD_MS); } } void main(void) { // 硬件初始化 led_init(); // 創建閃爍任務 xTaskCreate(led_blink_task, "led_task", 512, NULL, 15, NULL); // 啟動任務調度器 vTaskStartScheduler(); // 程序不會執行到這里 while(1) {} }
代碼測試
初步看著沒什么錯誤,編譯試試。
編譯提示出了錯誤,只能手動改一下了。
修改之后
運行成功的代碼
#include#include #include #include // 包含硬件定時器頭文件 #include #include #define LED_PIN 3 // 定義GPIO3引腳 #define BLINK_INTERVAL 500 // 閃爍間隔500ms(周期1秒) void led_init(void) { /* 初始化GPIO時鐘 */ bl_gpio_enable_output(LED_PIN, 0, 0); // 配置GPIO3為輸出模式 /* 初始狀態設置為低電平(根據電路設計可能需要反轉) */ bl_gpio_output_set(LED_PIN, 0); } void led_blink_task(void* pvParameters) { int cnt = 0; while (1) { // 翻轉GPIO狀態 bl_gpio_output_set(LED_PIN, cnt % 2); // 使用FreeRTOS延時函數 vTaskDelay(BLINK_INTERVAL / portTICK_PERIOD_MS); cnt++; if (cnt>10) { cnt = 0; } } } void main(void) { // 硬件初始化 led_init(); // 創建閃爍任務 xTaskCreate(led_blink_task, "led_task", 512, NULL, 15, NULL); // 啟動任務調度器 // vTaskStartScheduler(); // 程序不會執行到這里 while (1) {} }
測試結果
PWM 調色
開發板上自帶了 RGB,對應得 GPIO 如下:
好了開啟第二輪對話了,提問內容如下:
我已經麻木了!
嘗試幾次之后,給了回復:
提供的完整代碼
#include#include #include #include // PWM通道配置(根據實際GPIO-PWM映射關系調整) #define PWM_RED_CH 0 // GPIO14對應PWM通道0 #define PWM_GREEN_CH 1 // GPIO17對應PWM通道1 #define PWM_BLUE_CH 2 // GPIO3對應PWM通道2 // PWM頻率參數(假設系統時鐘144MHz) #define PWM_FREQ 15000 // 15kHz #define PWM_CLK_DIV 1 // 分頻系數 #define PWM_PERIOD (144000000 / PWM_CLK_DIV / PWM_FREQ) // 周期值計算 void pwm_init() { // 配置GPIO為PWM功能 bl_pwm_init(PWM_RED_CH, GPIO_PIN_14); bl_pwm_init(PWM_GREEN_CH, GPIO_PIN_17); bl_pwm_init(PWM_BLUE_CH, GPIO_PIN_3); // 統一設置PWM參數 for(int ch = 0; ch < 3; ch++) { bl_pwm_set_freq(ch, PWM_FREQ); bl_pwm_set_duty(ch, 0); // 初始占空比0% } bl_pwm_start(); } void breathing_effect(uint8_t ch, uint32_t duration_ms) { const uint32_t steps = 100; const uint32_t delay = duration_ms / (steps * 2); // 漸亮 for(int i = 0; i <= steps; i++) { bl_pwm_set_duty(ch, (PWM_PERIOD * i) / steps); vTaskDelay(delay / portTICK_PERIOD_MS); } // 漸暗 for(int i = steps; i >= 0; i--) { bl_pwm_set_duty(ch, (PWM_PERIOD * i) / steps); vTaskDelay(delay / portTICK_PERIOD_MS); } } void rgb_test_task(void *pvParameters) { while(1) { // 紅色呼吸 breathing_effect(PWM_RED_CH, 2000); // 綠色呼吸 breathing_effect(PWM_GREEN_CH, 2000); // 藍色呼吸 breathing_effect(PWM_BLUE_CH, 2000); // 白色混合呼吸 for(int i = 0; i <= 100; i++) { bl_pwm_set_duty(PWM_RED_CH, (PWM_PERIOD * i) / 100); bl_pwm_set_duty(PWM_GREEN_CH, (PWM_PERIOD * i) / 100); bl_pwm_set_duty(PWM_BLUE_CH, (PWM_PERIOD * i) / 100); vTaskDelay(20 / portTICK_PERIOD_MS); } for(int i = 100; i >= 0; i--) { bl_pwm_set_duty(PWM_RED_CH, (PWM_PERIOD * i) / 100); bl_pwm_set_duty(PWM_GREEN_CH, (PWM_PERIOD * i) / 100); bl_pwm_set_duty(PWM_BLUE_CH, (PWM_PERIOD * i) / 100); vTaskDelay(20 / portTICK_PERIOD_MS); } } } void main() { pwm_init(); xTaskCreate(rgb_test_task, "rgb_test", 512, NULL, 2, NULL); vTaskStartScheduler(); }
代碼測試
有三個錯誤,做一下修改就好,修改或如下:
編譯正常,通過了。
運行測試
最后測試失敗了,因為 PWM 通道全都沒有對應上 GPIO,所以需要把 PWM 通道號改回來,再測試:
燈顏色正確了,但是呼吸效果不對啊。
直接讓 DeepSeek 幫我們修改,提問如下:
根據意見,調節了 PWM 頻率和分頻系數,得到了非常不錯的呼吸效果。
完整程序
#include#include #include #include // PWM通道配置(根據實際GPIO-PWM映射關系調整) #define PWM_RED_CH 4 // GPIO14對應PWM通道0 #define PWM_GREEN_CH 2 // GPIO17對應PWM通道1 #define PWM_BLUE_CH 3 // GPIO3對應PWM通道2 // PWM頻率參數(假設系統時鐘144MHz) #define PWM_FREQ 15000 // 15kHz #define PWM_CLK_DIV 16 // 分頻系數 #define PWM_PERIOD (32000000 / PWM_CLK_DIV / PWM_FREQ) // 周期值計算 void pwm_init() { // 配置GPIO為PWM功能 bl_pwm_init(PWM_RED_CH, 14, PWM_FREQ); bl_pwm_init(PWM_GREEN_CH, 17, PWM_FREQ); bl_pwm_init(PWM_BLUE_CH, 3, PWM_FREQ); // 統一設置PWM參數 for (int ch = 0; ch < 3; ch++) { bl_pwm_set_freq(ch, PWM_FREQ); bl_pwm_set_duty(ch, 0); // 初始占空比0% } bl_pwm_start(PWM_RED_CH); bl_pwm_start(PWM_GREEN_CH); bl_pwm_start(PWM_BLUE_CH); } void breathing_effect(uint8_t ch, uint32_t duration_ms) { const uint32_t steps = 100; const uint32_t delay = duration_ms / (steps * 2); // 漸亮 for (int i = 0; i <= steps; i++) { bl_pwm_set_duty(ch, (PWM_PERIOD * i) / steps); vTaskDelay(delay / portTICK_PERIOD_MS); } // 漸暗 for (int i = steps; i >= 0; i--) { bl_pwm_set_duty(ch, (PWM_PERIOD * i) / steps); vTaskDelay(delay / portTICK_PERIOD_MS); } } void rgb_test_task(void* pvParameters) { while (1) { // 紅色呼吸 breathing_effect(PWM_RED_CH, 2000); // 綠色呼吸 breathing_effect(PWM_GREEN_CH, 2000); // 藍色呼吸 breathing_effect(PWM_BLUE_CH, 2000); // 白色混合呼吸 for (int i = 0; i <= 100; i++) { bl_pwm_set_duty(PWM_RED_CH, (PWM_PERIOD * i) / 100); bl_pwm_set_duty(PWM_GREEN_CH, (PWM_PERIOD * i) / 100); bl_pwm_set_duty(PWM_BLUE_CH, (PWM_PERIOD * i) / 100); vTaskDelay(20 / portTICK_PERIOD_MS); } for (int i = 100; i >= 0; i--) { bl_pwm_set_duty(PWM_RED_CH, (PWM_PERIOD * i) / 100); bl_pwm_set_duty(PWM_GREEN_CH, (PWM_PERIOD * i) / 100); bl_pwm_set_duty(PWM_BLUE_CH, (PWM_PERIOD * i) / 100); vTaskDelay(20 / portTICK_PERIOD_MS); } } } void main() { pwm_init(); xTaskCreate(rgb_test_task, "rgb_test", 512, NULL, 2, NULL); // vTaskStartScheduler(); }
測試結果
總結
1、官方的服務器還是不給力,一直服務器繁忙
2、生成的代碼有部分兼容性問題,達不到直接編譯使用要求
3、接口不可能完全可用
使用經驗
1、盡可能多的提供要求信息
2、需要結合自身編程經驗完善程序細節,以達到想要的功能
最后最后,希望 DeepSeek 盡快完善起來!過來人的服務器繁忙:
-
AI
+關注
關注
87文章
31709瀏覽量
270493 -
程序
+關注
關注
117文章
3798瀏覽量
81457 -
DeepSeek
+關注
關注
1文章
206瀏覽量
75
原文標題:和大火的DeepSeek聊下Ai-WB2模組程序?它好會!
文章出處:【微信號:安信可科技,微信公眾號:安信可科技】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
DeepSeek大模型攜手廣和通,加速AI普惠化進程
與 DeepSeek 對話,2025年AI硬件能為智慧醫療領域帶來什么幫助?
![與 <b class='flag-5'>DeepSeek</b> 對話,2025年<b class='flag-5'>AI</b>硬件能為智慧醫療領域帶來什么幫助?](https://file.elecfans.com/web2/M00/72/C6/poYBAGNXT3aAEAylAAAOHuQzJSk398.png)
deepseek國產芯片加速 DeepSeek的國產AI芯片天團
![<b class='flag-5'>deepseek</b>國產芯片加速 <b class='flag-5'>DeepSeek</b>的國產<b class='flag-5'>AI</b>芯片天團](https://file1.elecfans.com/web3/M00/07/AE/wKgZPGepprCAOsFIAAAQzAzYbvA470.jpg)
DeepSeek-R1本地部署指南,開啟你的AI探索之旅
![<b class='flag-5'>DeepSeek</b>-R1本地部署指南,開啟你的<b class='flag-5'>AI</b><b class='flag-5'>探索</b>之旅](https://file1.elecfans.com/web3/M00/07/85/wKgZO2emwiKATMQMAAAdDbvHMI4647.png)
DeepSeek+工業引擎,會怎樣? 123走起
![<b class='flag-5'>DeepSeek</b>+工業引擎,會怎樣? 123走起](https://file1.elecfans.com/web3/M00/07/3E/wKgZO2ejKbeAfjXhAARcjalOX0Y138.png)
安信可Ai-WB2系列的優勢是?一秒讀懂!
用Ai-WB2開發板做智能家居全彩LED小夜燈
![用<b class='flag-5'>Ai-WB2</b>開發板做智能家居全彩LED小夜燈](https://file1.elecfans.com//web2/M00/0B/85/wKgZomc0QTGAGCQfAAEH9PDRG1Q850.jpg)
外設移植 安信可Ai-WB2+FPM383C指紋
![外設移植 安信可<b class='flag-5'>Ai-WB2</b>+FPM383C指紋](https://file1.elecfans.com//web1/M00/F3/E2/wKgaoWcghr2Ae-ZyAABR_lw7GEY958.jpg)
外設移植 安信可Ai-WB2-32S開發板+TM1637 NTP時鐘
![外設移植 安信可<b class='flag-5'>Ai-WB2</b>-32S開發板+TM1637 NTP時鐘](https://file1.elecfans.com//web2/M00/08/9C/wKgaombyXD6Ad5ZaAAAJ02uBSJ0427.png)
超小!安信可5款迷你封裝WiFi+BLE模塊
![超小!安信可5款迷你封裝WiFi+BLE模塊](https://file1.elecfans.com//web2/M00/FF/51/wKgZomaoTqSADJubAABp8X-76Po54.jpeg)
安信可Ai-WB2系列模組/開發板連接AWS亞馬遜云方法
![安信可<b class='flag-5'>Ai-WB2</b>系列<b class='flag-5'>模組</b>/開發板連接AWS亞馬遜云方法](https://file1.elecfans.com/web2/M00/B2/78/wKgaomVtd6KAfnb3AAA2-gyc3Ao368.png)
安信可Wi-Fi&BLE模組之WB2系列的特點概述
安信可Ai-WB2系列模組/開發板連接AWS亞馬遜云方法
![安信可<b class='flag-5'>Ai-WB2</b>系列<b class='flag-5'>模組</b>/開發板連接AWS亞馬遜云方法](https://file1.elecfans.com//web2/M00/C9/99/wKgaomYeLlGAbcyYAADhzlVOpVQ21.jpeg)
評論