打印
[MCU]

外扩sdram

[复制链接]
486|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jlyuan|  楼主 | 2020-1-12 16:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
huangchui| | 2020-1-12 17:03 | 只看该作者
这个还真没实测过

使用特权

评论回复
板凳
jlyuan|  楼主 | 2020-1-12 17:06 | 只看该作者

对于不同厂商的SDRAM有区别吗??

使用特权

评论回复
地板
zhanghqi| | 2020-1-12 17:10 | 只看该作者
2分之内核时钟吧

使用特权

评论回复
5
zhenykun| | 2020-1-12 17:13 | 只看该作者

应该有吧

使用特权

评论回复
6
wyjie| | 2020-1-12 17:20 | 只看该作者
看你的SDRAM的芯片手册,上边有的。

使用特权

评论回复
7
yszong| | 2020-1-12 17:25 | 只看该作者
有需要用到这个结果吗

使用特权

评论回复
8
jlyuan|  楼主 | 2020-1-12 17:32 | 只看该作者
是啊,唉

使用特权

评论回复
9
dengdc| | 2020-1-12 17:35 | 只看该作者


看位宽吧?

使用特权

评论回复
10
heweibig| | 2020-1-12 17:40 | 只看该作者


位宽决定寻址长度。

使用特权

评论回复
11
wuhany| | 2020-1-12 17:45 | 只看该作者

这个没有测试过

使用特权

评论回复
12
lizye| | 2020-1-12 17:53 | 只看该作者
这个应该只能看手册了    看看EMIF接口的速度

使用特权

评论回复
13
spark周| | 2020-1-12 17:58 | 只看该作者
这个只能是看手册了

使用特权

评论回复
14
jlyuan|  楼主 | 2020-1-12 18:01 | 只看该作者
好的,我明天去单位试一下,多谢各位大侠了哈,结贴了先         

使用特权

评论回复
15
spark周| | 2020-1-12 18:04 | 只看该作者
我的数组是这样的,我想快速找到他们的边界。

1,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,6,6,6,6,6,6,6,7,7,7,7,7,7,8,8,8,8,8,8,。。。

我想快速统计出相同元素的个数,用了二分法,不知道有没有比它更好的方法?

使用特权

评论回复
16
jiaxw| | 2020-1-12 18:07 | 只看该作者
比如想找3的边界?

使用特权

评论回复
17
jiajs| | 2020-1-12 18:15 | 只看该作者

1、定义个15维的数组
2、循环15次,写入15个随机数
3、将15个数排序(二分法只能用在有序数上)
4、开始做二分法查

使用特权

评论回复
18
jiajs| | 2020-1-12 18:17 | 只看该作者

'-----------------代码开始了------------------------
Option Explicit
Dim S(0 To 14) As Integer, i As Integer, j As Integer
Private Sub Form_Load()
Dim tmp As Integer
List1.Clear                             '清空List显示
For i = 0 To 14
    S(i) = Rnd * 99                     '循环写入小于0-99的数
Next i
For i = 0 To 13                         '排序数组元素(升序)
    For j = i + 1 To 14
        If S(j) < S(i) Then             '开始排序了
            tmp = S(j)
            S(j) = S(i)
            S(i) = tmp
        End If
    Next j
Next i
For i = 0 To 14                         '将元素写在List里,便于查看
    List1.AddItem S(i)
Next i
End Sub
Private Sub Command1_Click()
    Dim bFnd As Boolean, lowi As Integer, maxi As Integer, ci As Integer, tmpi As Integer, MyFind As Integer, iFnd As Integer
    MyFind = Val(InputBox("请输入要找的数", "查找"))            '输入一个要查找的数
    bFnd = False                                                '是否找到的变量
    lowi = 0                                                    '最低数索引
    iFnd = 0                                                    '找了几次的变量
    maxi = UBound(S)                                            '最高数索引
    ci = UBound(S) \ 2                                          '二分索引
    Do
        iFnd = iFnd + 1                                         '循环次数计1
        If S(ci) = MyFind Then                                  '如果就是要找的数
            bFnd = True
            MsgBox "找了 " & iFnd & " 遍找到了 " & MyFind & "  ,它在该数组的第" & ci + 1 & "个元素中", vbInformation, "提示"
        Else
            If Abs(maxi - lowi) <= 1 Then Exit Do               '高低索引重叠,说明已经找完了(没找到)
            If S(ci) > MyFind Then                              '如果二分值大于要找的值,说明要往前找
                tmpi = lowi + (ci - lowi) \ 2                   '重复二分索引
                maxi = ci                                       '将最高数索引定位于当前索引
                ci = tmpi                                       '置当前索引为二分后的值
            Else
                tmpi = ci + (maxi - ci) \ 2                     '向后查找做二分查
                lowi = ci                                       '最低数索引置当前索引
                ci = tmpi                                       '置当前索引为向后二分查找索引
            End If
        End If
    Loop While (bFnd = False)                                   '没找到就再做二分查
    If Not bFnd Then MsgBox "找了 " & iFnd & " 遍都没找到你要的数字 " & MyFind, vbInformation, "提示"
End Sub

使用特权

评论回复
19
zhanghqi| | 2020-1-12 18:21 | 只看该作者
没完吧。。。

使用特权

评论回复
20
zhaoxqi| | 2020-1-12 18:23 | 只看该作者
嗯,#include <iostream>
using namespace std;
#define MAX 1000
void fun(int a[], int len)
{
    int tmp[MAX]={0};        //辅助数组
    for ( int i=0; i<len; ++i )
    {
        tmp[a[i]]++;
    }
    for ( i=0; i<len; ++i )
    {
         if ( tmp[i]!=0 )
         {
             cout << i << "的个数" << tmp[i] << endl;
         }
    }
}
int main()
{
    int a[] = {1,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,6,6,6,6,6,6,6};

    fun(a, sizeof(a)/sizeof(int));
    return 0;
}


参考鸽巢排序的。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

880

主题

12030

帖子

4

粉丝