矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
楼主: 造双联

单片机快速开发技术初探

  [复制链接]
     
 楼主| 发表于 2022-12-4 13:21:26 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
发表于 2022-12-4 15:06:52 | 显示全部楼层
造双联 发表于 2022-12-4 13:14
你这篇大部分就是废话,写51的C语言用得着去管什么汇编语言堆栈进栈出栈吗?只要什么是真就干什么,假由 ...

那你就接着搞下去,不要找什么这样那样的理由半途而废了。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2022-12-4 16:54:41 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
发表于 2022-12-4 17:08:15 | 显示全部楼层
造双联 发表于 2022-12-4 16:54
已经搞了差不多两年,已经写了100万字500页的第一部分文档呀,还要干差不多两年这样,这是箭在弦上不得不 ...

Linus 的一句名言 “ Talk is cheap, show me the code ”

语言总是匮乏的,不能精确的描述事物本身。能描述事物本身的是事物自己。主要经历放在code上,好于码字。


备注:
我没有要看你代码的意思,你写的东西无没多少兴趣。我在C方面的水准并不差,对算法也还凑合,并不需要你的东西。

我表述的意思是直接拿产品出来证明一切。我感兴趣的是想看看你的软件到底能做到什么水平,不要像我那个朋友,做了个封装,找我显摆。我前天刚把他拉黑了。
回复 支持 1 反对 0

使用道具 举报

     
 楼主| 发表于 2022-12-4 17:12:59 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
发表于 2022-12-4 17:23:21 | 显示全部楼层
造双联 发表于 2022-12-4 17:12
作为30多年一线研究,国家发给自动化工程师资质的我,呕心沥血搞的,自然应该是可以相信有一定价值的。当 ...


行行行,别吹了。
老实的干活,做点有意义的事比什么都好。

我证书档次不比你的低,计算机的水平也超过你,还得夹着尾巴做人呢。
回复 支持 反对

使用道具 举报

     
发表于 2022-12-4 17:45:30 | 显示全部楼层
我还是很好奇,你到底什么水平,这么的自信。到底是自信还是自大。


请教你这个问题:

  1. #include <stdio.h>

  2. //动这个函数里的代码
  3. void
  4. gai(const int * const x)
  5. {

  6. }

  7. int
  8. main(void)
  9. {
  10.         int i=100;

  11.         // 要求在gai函数里把i的值修改为200
  12.         gai(i);
  13.        
  14.         return(0);
  15. }
  16.        
复制代码


你看看这个问题咋办,目前我只能想到3种方法。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2022-12-4 19:01:54 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
发表于 2022-12-4 19:13:22 | 显示全部楼层
本帖最后由 ssffzz1 于 2022-12-4 19:15 编辑

不会就不会呗。
认怂没啥,认了人生就开阔了。我以前也不愿意承认自己笨,后来发现没啥难为情的。

我也没几十年做一件事情,我吃饭的行业是通信,也不是科班,是自己学的。C更是业余爱好。
学历更是低的没法看。

我C的水准只能说看看常规的通信协议(譬如TCP/IP,ISIS,BGP,MPLS等)和操作系统代码(FREERTOS,UCOS等)没问题。相比C代码大赛的那些个高手,不值一提。

最后,还是劝你,C不行就去学学,学不会不能说C这不好那不好,就认自己笨。切莫找这找那的借口。


至于要创新个新东西出来,说实话,能实现了那叫理想。实现不了那叫瞎想。底子就打不牢靠,除了想想,你能做啥呢?

回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2022-12-5 09:00:41 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
发表于 2022-12-7 10:33:39 | 显示全部楼层
本帖最后由 美人鱼999 于 2022-12-7 10:39 编辑

希望你要加快行动了,因为你说的这些很快将被人工智能软件所取代.
看一个例子
我让chatGPT帮忙写代码:
问:帮忙写一段C代码,输入参数分别为:一个数组,数组长度,一个整数,如果数组内任意两个元素的相乘等于输入的整数,则返回对应的索引,否则返回-1
答:
#include <stdio.h>


/* 定义返回类型为整数的函数,参数分别为:一个整数数组、数组长度、一个整数 */
int find_index(int arr[], int length, int target) {
  /* 循环遍历整个数组 */
  for (int i = 0; i < length; i++) {
    /* 再次循环遍历整个数组,但从当前位置的下一个位置开始 */
    for (int j = i + 1; j < length; j++) {
      /* 如果两个元素相乘等于目标整数,则返回这两个元素对应的索引 */
      if (arr * arr[j] == target) {
        return i;
      }
    }
  }


  /* 如果没有找到符合条件的元素,则返回-1 */
  return -1;
}


int main() {
  /* 定义一个整数数组,并初始化 */
  int arr[] = {1, 2, 3, 4, 5, 6};


  /* 调用函数,并打印结果 */
  printf("%d\n", find_index(arr, 6, 12));
  return 0;
}
回复 支持 反对

使用道具 举报

发表于 2022-12-7 12:33:05 | 显示全部楼层
刚才想了一下,其实应用软件实现AI编程是容易的,按技术的发展。
对硬件的编程应该也好实现。
程序本质上就是时序+电平,如果把单片机看成一个黑盒,它和外部通信就是某一时刻IO口上的电平。
有点FPGA的即视感。
所以在单片机上至少要跑一个实时操作系统,通过封装几个傻瓜寄存器,实时控制IO口的变化就行。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2022-12-7 18:05:28 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
发表于 2022-12-7 20:20:27 | 显示全部楼层
本帖最后由 ssffzz1 于 2022-12-7 20:28 编辑
美人鱼999 发表于 2022-12-7 10:33
希望你要加快行动了,因为你说的这些很快将被人工智能软件所取代.
看一个例子
我让chatGPT帮忙写代码:


该程序存在大概有3个问题:

1)返回2个数的索引,你看看他返回的是什么?只返回i,那么另一个数的索引呢?
2)if (arr * arr[j] == target)   什么意思? arr是数组的首地址,地址*长度?无法理解
3)数组内如果有多个这样的组合如何遍历?


另外的问题:
效率,最长做了 length*length次乘法。但其实只需要做 length次即可。

  1. int
  2. find_index(int arr[], int length, int target)
  3. {
  4.   int tmp;
  5.   for (int i = 0; i < length; i++) {
  6.     tmp=target/arr[i];

  7.     for (int j = i + 1; j < length; j++) {
  8.       if (arr[j] == tmp) {
  9.         return i;
  10.       }
  11.     }
  12.   }
  13.   return -1;
  14. }
复制代码


CPU做比较相等运算的速度远大于乘法。


机器永远只是机器,一块铁而已,没有智能。
回复 支持 反对

使用道具 举报

     
发表于 2022-12-7 20:42:11 | 显示全部楼层
本帖最后由 ssffzz1 于 2022-12-7 20:44 编辑

有始有终201楼答案:

基础:
const这个只影响编译器譬如gcc对代码的检查,实际并不影响汇编代码的生成以及最终的二进制文件的内容。因此这个玩意只再编译阶段生效。

解法1:

  1. #define const

  2. void
  3. gai(const int * const x)
  4. {
  5.   *x=200;

  6. }
复制代码


最简单直接的法子。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2025-4-28 09:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表